首页 > 其他 > 详细

身份证号码是否合法,地区性别验证规则

时间:2015-10-22 17:42:35      阅读:213      评论:0      收藏:0      [点我收藏+]
<?php


//生日就不用说了,号码前6位可判断地区
//前17位依次乘以此17位数字  总合除以11,余数为身份证最后一位数字(10=2,2=X)此两个数字除外
$arr = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
$result = [0, 1, 10, 3, 4, 5, 6, 7, 8, 9, ‘X‘=>2];


$code = trim($_GET[‘code‘]);


$count = 0;
foreach ($arr as $key => $val) {
    $num = substr($code, $key, 1);
    $count += $num * $val;
    if($key == 16)
        $sex = $num;
}


$n = intval($count % 11);
$a = substr($code, -1, 1);
if (!in_array($n, $result) || array_flip($result)[$n] != strtoupper($a)) {
    die(‘身份证不合法‘);
}


if($sex%2==0)
    echo ‘性别女,‘;
else
    echo ‘性别男,‘;


echo ‘合法‘;
?>



身份证号码是否合法,地区性别验证规则

原文:http://my.oschina.net/tanwen/blog/520642

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!