使用PHP从ID卡中提取生日,包括15和18张身份证。
功能getidcardinfo(合身份证,格式= 1美元){
结果
错误的} {美元= 0; / / 0:未知错误,1:身份证格式错误,2:没有错误
结果'flag'} {美元= ''; / / 0标记的成人,1表示未成年人
结果'tdate'} {美元= ''; / /生日,格式:2012-11-15
如果(!preg_match( / ^( D { 15 } $ | ^ D { 18 } $ | ^ D { 17 }( D | X | x)){ $ /,为身份证))
结果错误的} {美元= 1;
返回$结果;
其他{ }
如果(strlen(合身份证)= = 18)
{
tyear美元= intval(substr(合身份证,4));
tmonth美元= intval(substr(合身份证,2));
现在的美元= intval(substr(合身份证,12,2));
}
elseif(strlen(合身份证)= = 15)
{
tyear美元= intval(19 。substr(合身份证,6,2));
tmonth美元= intval(substr(合身份证,2));
现在的美元= intval(substr(合身份证,2));
}
如果($ tyear >
日期(Y)| | $ tyear <(日期(Y)- 100)))
{
$标志=0;
}
($ tmonth12)
{
$标志=0;
}
($ tday31)
{
$标志=0;
}其他
{
如果($格式)
{
tdate = tyear美元美元。tmonth美元。现在的美元;
}
其他的
{
tdate = tmonth美元美元。现在的美元;
}
如果((时间()- mktime(0,0,0,tmonth美元,现在的美元,美元tyear))> 18 * 365 * 24 * 60 * 60)
{
$标志=0;
}
其他的
{
$标志=1;
}
}
}
结果错误的} {美元= 2; / / 0:未知错误,1:身份证格式错误,2:没有错误
结果'isadult} = {美元美元 / / 0旗;明显的成人,1表示未成年人
结果分为} = {美元美元tdate; / /生日日期
返回$结果;
}