判断是否是身份证号
发布时间:2020-05-26 15:20:37 所属栏目:PHP 来源:互联网
导读:判断是否是身份证号
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 function isIdCard($number) { // 检查是否是身份证号
$number = getIDCard($number);
// 转化为大写,如出现x
$number = strtoupper($number);
//加权因子
$wi = array(7,9,10,5,8,4,2,1,6,3,7,2);
//校验码串
$ai = array('1','0','X','9','8','7','6','5','4','3','2');
//按顺序循环处理前17位
$sigma = 0;
for ($i = 0;$i < 17;$i++) {
//提取前17位的其中一位,并将变量类型转为实数
$b = (int) $number{$i};
//提取相应的加权因子
$w = $wi[$i];
//把从身份证号码中提取的一位数字和加权因子相乘,并累加
$sigma += $b * $w;
}
//计算序号
$snumber = $sigma % 11;
//按照序号从校验码串中提取相应的字符。
$check_number = $ai[$snumber];
if ($number{17} == $check_number) {
return true;
} else {
return false;
}
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
