码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-10-22 17:43:17      阅读:199      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!