技术栈互联网产品思考产品经理

身份证校验位(末位)算法PHP、JAVA、PYTHON

2017-10-11  本文已影响79人  黄油伯伯

首先,我们来了解一下身份证的结构

身份证18位分别代表的含义,身份证15位升级到18位,原来年用2位且没有最后一位,从左到右方分别表示
①1-2 升级行政区代码
②3-4 地级行政区划分代码
③5-6 县区行政区分代码
④7-10 11-12 13-14 出生年、月、日
⑤15-17 顺序码,同一地区同年、同月、同日出生人的编号,奇数是男性,偶数是女性
⑥18 校验码,如果是0-9则用0-9表示,如果是10则用X(罗马数字10)表示

①~④的校验规则网上已经有很多了,在这里我们就不细说了,我们这次重点来看看校验位(末位)是怎么来的。

校验位算法

算法采用ISO 7064:1983,MOD11-2校验码系统


身份证的每一位的具体算法模型,可以根据此表进行计算


实现(上代码,你懂的)

PHP代码:

JAVA代码:

Python代码:
待补充,先做正事......

好了,说了这么多,是时候做正事了,上图!

上一篇下一篇

猜你喜欢

热点阅读