PHPID卡校验码的计算方法

PHPID卡校验码的计算方法
中国(大陆)介绍公民卡数各代表了很多在互联网上的文章的意思,这里就不多说了,身份证号码最后是校验码,它是第一个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介绍,我们希望对你有帮助。如果你有任何问题,请给我留言,萧边会及时给您回复。谢谢您支持网站
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部