您正在使用IPV4(3.238.204.31)访问本站 您本次共访问本站 1 次
 用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器 行情 简化版
文明驾车我带头,文明行路我带头,礼貌让座我带头      

[公益] 节省一分零钱 献出一份爱心 温暖世间真情       【腾讯云】云产品限时秒杀,爆款1核2G云服务      
虚位以待
2021年 冬至节 55
2021年 圣诞节 59
2022年 元 旦 66
2022年 春 节 97
 
  • 本类新增
    本类热门文章
    您现在的位置:首页 >> PHP >> 内容
    身份证号
    内容摘要: functionis_citizen_id($id){//长度效验18位身份证中的X为大写$id=strtoupper($id);if(!(preg_match('/^\d{17}(\d|X)$/',$id)||preg_match('/^\d{15}$/',$id))){returnfalse;}//15位老号码转换为18位并转换成字符串$Wi=array......
    functionis_citizen_id($id){

    //长度效验18位身份证中的X为大写

    $id=strtoupper($id);

    if(!(preg_match('/^\d{17}(\d|X)$/',$id)||preg_match('/^\d{15}$/',$id))){

    returnfalse;

    }

    //15位老号码转换为18位并转换成字符串

    $Wi=array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);

    $Ai=array('1','0','X','9','8','7','6','5','4','3','2');

    $cardNoSum=0;

    if(strlen($id)==16){

    $id=substr(0,6).'19'.substr(6,9);

    for($i=0;$i<17;$i++){

    $cardNoSum+=substr($id,$i,1)*$Wi[$i];

    }

    $seq=$cardNoSum%11;

    $id=$id.$Ai[$seq];

    }

    //效验18位身份证最后一位字符的合法性

    $cardNoSum=0;

    $id17=substr($id,0,17);

    $lastString=substr($id,17,1);

    for($i=0;$i<17;$i++){

    $cardNoSum+=substr($id,$i,1)*$Wi[$i];

    }

    $seq=$cardNoSum%11;

    $realString=$Ai[$seq];

    if($lastString!=$realString){returnfalse;}

    //地域效验

    $oCity=array(11=>"北京",12=>"天津",13=>"河北",14=>"山西",15=>"内蒙古",21=>"辽宁",22=>"吉林",23=>"黑龙江",31=>"上海",32=>"江苏",33=>"浙江",34=>"安徽",35=>"福建",36=>"江西",37=>"山东",41=>"河南",42=>"湖北",43=>"湖南",44=>"广东",45=>"广西",46=>"海南",50=>"重庆",51=>"四川",52=>"贵州",53=>"云南",54=>"西藏",61=>"陕西",62=>"甘肃",63=>"青海",64=>"宁夏",65=>"新疆",71=>"台湾",81=>"香港",82=>"澳门",91=>"国外");

    $City=substr($id,0,2);

    $BirthYear=substr($id,6,4);

    $BirthMonth=substr($id,10,2);

    $BirthDay=substr($id,12,2);

    $Sex=substr($id,16,1)%2;//男1女0

    //$Sexcn=$Sex?'男':'女';

    //地域验证

    if(is_null($oCity[$City])){returnfalse;}

    //出生日期效验

    if($BirthYear>2078||$BirthYear<1900){returnfalse;}

    $RealDate=strtotime($BirthYear.'-'.$BirthMonth.'-'.$BirthDay);

    if(date('Y',$RealDate)!=$BirthYear||date('m',$RealDate)!=$BirthMonth||date('d',$RealDate)!=$BirthDay){

    returnfalse;

    }

    returnarray('id'=>$id,'location'=>$oCity[$City],'Y'=>$BirthYear,'m'=>$BirthMonth,'d'=>$BirthDay,'sex'=>$Sex);

    }

    版权声明:本内容来源于互联网,如有侵犯您的版权,请联系站长,本站收到您的信息后将及时处理。
    上一篇:PHP判断json格式是否正确的实现代码 下一篇:循环删除目录
    发布日期:2021/9/16
    手机扫二维码直达本页
    发布时间:15:07:50
    点击:356
    录入:壹家怡园
    相关文章
    Baidu
    YiJiaCMS 6.0.6.10688 Build 21.10.13(MSSQL) 闽ICP备05000814号-1
    本空间由景安网络提供,百度云加速提供加速防护
    ©2000-2021