找回密码
 立即注册

QQ登录

只需一步,快速开始

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

使用php从身份证号中获取一系列线索(星座、生肖、生日等)

[复制链接]

2560

主题

2560

帖子

7622

积分

论坛元老

Rank: 8Rank: 8

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

            本文第一个实例为大家分享了PHP根据身份证号,自动获取对应的星座函数,供大家参考,具体内容如下
= 20) || ($month == 2 && $day = 19) || ($month == 3 && $day  20) || ($month == 4 && $day = 20) || ($month == 5 && $day = 21) || ($month == 6 && $day  21) || ($month == 7 && $day  22) || ($month == 8 && $day = 23) || ($month == 9 && $day = 23) || ($month == 10 && $day  23) || ($month == 11 && $day  22) || ($month == 12 && $day  21) || ($month == 1 && $day
第二个实例:用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 提取身份证号码中的生日日期以及确定是否成年的一个函数。可以同时确定15位和18位的身份证,经本人亲测,非常好用,分享函数代码如下:
date("Y")||$tyear){
    $flag=;
   }elseif($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){
    $flag=;
   }elseif($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提取身份证号码中的生日日期以及验证是否为成年人的函数,希望对大家有用。
            
            
您可能感兴趣的文章:
  • php不用正则验证真假身份证
  • PHP 正则判断中文UTF-8或GBK的思路及具体实现
  • PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
  • php身份证号码检查类实例
  • php提取身份证号码中的生日日期以及验证是否为成年人的函数
  • php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
  • php用正则判断是否为数字的方法
  • php验证身份证号码正确性的函数
  • Ajax和PHP正则表达式验证表单及验证码
  • php从身份证获取性别和出生年月
  • PHP 验证身份证是否合法的函数
  • php正则判断是否为合法身份证号的方法
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

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

    本版积分规则

    用户反馈
    客户端