php 提取身份證號碼中的生日日期以及確定是否成年的一個函數。可以同時確定15位和18位的身份證,經本人親測,非常好用,分享函數代碼如下:
<?php //用php從身份證中提取生日,包括位和位身份證 function getIDCardInfo($IDCard){ $result['error']=;//:未知錯誤,:身份證格式錯誤,:無錯誤 $result['flag']='';//標示成年,標示未成年 $result['tdate']='';//生日,格式如:-- if(!eregi("^[-]([-a-zA-Z]{}|[-a-zA-Z]{})$",$IDCard)){ $result['error']=; return $result; }else{ if(strlen($IDCard)==){ $tyear=intval(substr($IDCard,,)); $tmonth=intval(substr($IDCard,,)); $tday=intval(substr($IDCard,,)); if($tyear>date("Y")||$tyear<(date("Y")-)){ $flag=; }elseif($tmonth<||$tmonth>){ $flag=; }elseif($tday<||$tday>){ $flag=; }else{ $tdate=$tyear."-".$tmonth."-".$tday." ::"; if((time()-mktime(,,,$tmonth,$tday,$tyear))>****){ $flag=; }else{ $flag=; } } }elseif(strlen($IDCard)==){ $tyear=intval("".substr($IDCard,,)); $tmonth=intval(substr($IDCard,,)); $tday=intval(substr($IDCard,,)); if($tyear>date("Y")||$tyear<(date("Y")-)){ $flag=; }elseif($tmonth<||$tmonth>){ $flag=; }elseif($tday<||$tday>){ $flag=; }else{ $tdate=$tyear."-".$tmonth."-".$tday." ::"; if((time()-mktime(,,,$tmonth,$tday,$tyear))>****){ $flag=; }else{ $flag=; } } } } $result['error']=;//:未知錯誤,:身份證格式錯誤,:無錯誤 $result['isAdult']=$flag;//標示成年,標示未成年 $result['birthday']=$tdate;//生日日期 return $result; }
用法如下:
復制代碼 代碼如下:
getIDCardInfo('身份證號碼');
以上代碼就是小編跟大家分享的php提取身份證號碼中的生日日期以及驗證是否為成年人的函數,希望對大家有用。