本文实例讲述了php实现15位身份证号转18位的方法。分享给大家供大家参考,具体如下:
第一代身份证:15位身份证号码的意义
1-2位省、自治区、直辖市代码;
3-4位地级市、盟、自治州代码;
5-6位县、县级市、区代码;
7-12位出生年月日,比如670401代表1967年4月1日,这是和18位号码的第一个区别;
13-15位为顺序号,其中15位男为单数,女为双数;
与18位身份证号的第二个区别:没有最后一位的校验码。
第二代身份证:18位身份证号码的意义
①前1、2位数字表示:所在省份的代码,河南的省份代码是41大合唱歌曲哦!
②第3、4位数字表示:所在城市的代码;
③第5、6位数字表示:所在区县的代码;
④第7~14位数字表示:出生年、华佗学医月、日;
⑤第15、16位数字表示:所在地的派出所的代码;
⑥第17位数字表示性别:奇数表示男性,偶数表示女性;
⑦第18位数字是校检码:也有的说是个人信息码,一般是随计算机随机产生,用来检验身份证的正确性。校检码可以是0~9的数字,有时也用x表示。
代码示例:
<?phpfunction cardid15to18($card){ $len = strlen($校园鬼故事card); if($len == 18){ return $card; }el if($len != 15){ return fal; } $result = array(); for($i=0;$i<$len;$i++){ if($i<=5){ $result[$i] = intval($card[$i]); }el{ //15位的年份是两位数,18位的是4位数,留出2位 $result[$i+2] = intval($card[$i]); } } //留出的2位,补充为年份,年份最后两位小于17,年份为20xx,否则为19xx if(intval(substr($card,6,2)) <= 17){ $result[6] = 2; $result[7] = 0; }el{ $result[6] = 1; $re人生感悟励志sult[7] = 9; } ksort($result); //计算最后一位 //前十七位乘以系数[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2], $arrint = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 饱和食盐水为什么能吸收氯化氢7, 9, 10, 5, 8, 4, 2); $sum = 0; for($i=0;$i<17;$i++){ $sum += $result[$i] * $arrint[$i]; } //对11求余,的余数 0 - 10 $rod = $sum % 11; //所得余数映射到对应数字即可 $arrch = array('1', '0', 'x', '9', '8', '7', '6', '5', '4', '3', '2'); $result[17] = $arrch[$rod]; return implode('',$result);}
参考文章:
ps:这里再为大家推荐一款相似的在线工具供大家参考:
身份证归属地信息在线查询:
另外,本站在线工具小程序上也有一款功能更加强大的身份证信息获取工具,感兴趣的朋友可以扫描如下小程序码查看:
本文发布于:2023-04-08 06:24:08,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/ab7870d18c1df755ba88815aec81af3b.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:PHP实现15位身份证号转18位的方法分析.doc
本文 PDF 下载地址:PHP实现15位身份证号转18位的方法分析.pdf
留言与评论(共有 0 条评论) |