大陆--身份证(本国人)正则表达式

来源:互联网 发布:大数据有趣的例子 编辑:程序博客网 时间:2024/04/30 10:53

1. 旧版身份证(第一代)



15位的身份证没有校验码



2. 新版身份证(第二代身份证)

份证号码编码规则2.

根据中华人民共和国国家标准《公民身份号码国家标准GB11643-1999)中国大陆的居民身份证号码由18组成,前17位为数字,后一位多数人为数字,少数人为字母“X”。

一、第l-6位数为大陆行政区划分代码



二、第7-14位数为出生日期代码


出生日期代码,第7—10位数代表年份,第11—12位数代表月份(月份为l位数的前面加零占位),13-14位数代表日期(日期为1位数的前面加零占位)。

比如198921日生,写为19890201。


三、第15-17位数为分配顺序代码


四、第18位为末位校验码

按统一的公式计算出来,计算结果是数字0-10,X代替10。

http://zh.wikipedia.org/wiki/%E4%B8%AD%E5%8D%8E%E4%BA%BA%E6%B0%91%E5%85%B1%E5%92%8C%E5%9B%BD%E5%85%AC%E6%B0%91%E8%BA%AB%E4%BB%BD%E5%8F%B7%E7%A0%81


3. 第三代身份证 

中华人民共和国第三代居民身份证(英文:The people's Republic of China the third generation ID card),

仍处于概念设计阶段。


综合

RegEx

/^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/

Example

320882198902162412 120105199201018916

120105199201019556

350725199001012772

350725199001012158




0 0
原创粉丝点击