找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 270|回复: 0
打印 上一主题 下一主题

使用php实现从身份证中提取生日

[复制链接]

2647

主题

2647

帖子

7881

积分

论坛元老

Rank: 8Rank: 8

积分
7881
跳转到指定楼层
楼主
发表于 2018-2-14 05:36:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            用php从身份证中提取生日,包括15位和18位身份证
function getIDCardInfo($IDCard,$format=1){
$result['error']=0;//0:未知错误,1:身份证格式错误,2:无错误
$result['flag']='';//0标示成年,1标示未成年
$result['tdate']='';//生日,格式如:2012-11-15
if(!preg_match("/^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/",$IDCard)){
  $result['error']=1;
  return $result;
}else{
  if(strlen($IDCard)==18)
  {
   $tyear=intval(substr($IDCard,6,4));
   $tmonth=intval(substr($IDCard,10,2));
   $tday=intval(substr($IDCard,12,2));
  }
  elseif(strlen($IDCard)==15)
  {
   $tyear=intval("19".substr($IDCard,6,2));
   $tmonth=intval(substr($IDCard,8,2));
   $tday=intval(substr($IDCard,10,2));
  }
   
  if($tyear>date("Y")||$tyear12)
   {
    $flag=0;
   }
   elseif($tday31)
   {
    $flag=0;
   }else
   {
    if($format)
    {
     $tdate=$tyear."-".$tmonth."-".$tday;
    }
    else
    {
     $tdate=$tmonth."-".$tday;
    }
     
    if((time()-mktime(0,0,0,$tmonth,$tday,$tyear))>18*365*24*60*60)
    {
     $flag=0;
    }
    else
    {
     $flag=1;
    }
   }  
}
$result['error']=2;//0:未知错误,1:身份证格式错误,2:无错误
$result['isAdult']=$flag;//0标示成年,1标示未成年
$result['birthday']=$tdate;//生日日期
return $result;
}
            
            
您可能感兴趣的文章:
  • PHP 身份证号验证函数
  • php不用正则验证真假身份证
  • PHP用身份证号获取星座和生肖的方法
  • php根据身份证号码计算年龄的实例代码
  • PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
  • php身份证号码检查类实例
  • php提取身份证号码中的生日日期以及验证是否为成年人的函数
  • 使用php从身份证号中获取一系列线索(星座、生肖、生日等)
  • php验证身份证号码正确性的函数
  • PHP身份证校验码计算方法
  • php从身份证获取性别和出生年月
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端