中国(大陆)
介绍公民卡数各代表了很多在互联网上的文章的意思,这里就不多说了,身份证号码最后是校验码,它是第一个17位计算的算法,大概是这样的:我们的第一个17相乘位与一系列的加权因子,每一个数字,然后计算这些产品的总和,并以笔和积11获得编号的数字,最后提取出相应的特征在
检查代码的字符串序列号。当然,也有许多在互联网上的文章,教你如何计算校验码。接下来,我们将尝试用PHP
语言完成这项
工作,也许它可以用于PHP开发,例如
正确检查
用户ID号。
假设中国大陆公民的身份证号码的前17个数字是:44010221990101001(注:此人出生于2199),然后我们尝试用上面的算法写几行PHP代码来完成校验码的计算。为了使它更容易理解,我使用了一个简单的语句,见代码:
< PHP
在17之前,可以从各种数据源(如数据库、用户提交表单等)获得ID号。
身体=美元'44010221990101001;
/加权因子
$ =数组(7, 9, 10,5, 8, 4,2, 1, 6,3, 7, 9,10, 5)。
检查代码字符串
AI =阵列(1美元,'0','x',9、8、7',6,5,4,3,);
在17之前进行循环
处理 ($ i = 0;$ i < 17;$ + +){
提取17个变量
类型,并将变量类型提取为实
$ =(int)$主体{ $ i };
提取/权重因素
美元= $ $ I };
将数字从身份证号码和权重因子中相乘,并累积。
美元=美元;
}
计算数字
$ = sigma % 11;
根据字符串的序列号提取相应的检查码。
check_number美元美元美元= {数量} AI;
输出
check_number美元回声$体;
>
运行上述代码后,您可以了解到身份证的身份验证码为9。您可以尝试您的身份证的前17位。
如果您理解上面的示例,您可以合并一些代码,
删除不必要的变量,并
优化以下代码:
< PHP
身体=美元'44010221990101001;
$ =数组(7, 9, 10,5, 8, 4,2, 1, 6,3, 7, 9,10, 5)。
AI =阵列(1美元,'0','x',9、8、7',6,5,4,3,);
($ i = 0;$ i < 17;$ + +){
$ =((int)$ $ $ });
}
$ $($ 11)};
>
以上是PHP的身份证校验计算
方法经Xiaobi介绍,我们希望对你有帮助。如果你有任何问题,请给我留言,萧边会及时给您回复。谢谢您
支持网站。