公民身份证校验规则最新最全最严格(包含最后一位校验码校验)

身份证号前两位为省级行政区划
11: “北京”,
12: “天津”
13: “河北”,
14: “山西”,
15: “内蒙古”,

正则表达:1[1-5]

21: “辽宁”,
22: “吉林”,
23: “黑龙江”,

正则表达:2[1-3]

31: “上海”,
32: “江苏”,
33: “浙江”,
34: “安徽”,
35: “福建”,
36: “江西”,
37: “山东”,

正则表达:3[1-7]

41: “河南”,
42: “湖北”,
43: “湖南”,
44: “广东”,
45: “广西”,
46: “海南”,

正则表达:4[1-6]

50: “重庆”,
51: “四川”,
52: “贵州”,
53: “云南”,
54: “西藏”,

正则表达:5[0-4]

61: “陕西”,
62: “甘肃”,
63: “青海”,
64: “宁夏”,
65: “新疆”,

正则表达:6[1-5]

省级部分合并正则表达:[16][1-5]|2[1-3]|3[1-7]|4[1-6]|5[0-4]

前六位为县级行政区划,为省级代码加4位数字
正则表达:([16][1-5]|2[1-3]|3[1-7]|4[1-6]|5[0-4])\d{4}

日期部分4位年
4位年,从1900到2099:(19|20)\d{2}

月和日期
0469 4、6、9月有30天
11(0[1-9]|[12][0-9]|30) 11月有30天

上面两行合并后表达为:(?:0[469]|11)(?:0[1-9]|[12][0-9]|30)

013578 1、3、5、7、8月有31天
102 10月和12月有31天

上面两行合并后表达为:(?:0[13578]|1[02])(?:0[1-9]|[12][0-9]|3[01])

02(0[1-9]|[12][0-9]) 2月最多29天,但约有3/4的时候是28天,这里没办法判断不润年的情况

合并月份和日期部分如下:(?

公民身份证校验规则最新最全最严格(包含最后一位校验码校验)相关推荐

  1. 中国公民身份证编号规则

    一.身份证号码执行标准: 18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999<公民身份号码>. GB11643-1999<公民身份号码>为G ...

  2. 18位公民身份证编码规则

    本资料从网上多处说明整理而来.如有错误请发邮件到:poolord@2ndhometown.net,谢谢. 18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999< ...

  3. Springboot 参数校验@Valid @Validated(最新最全)

    Springboot 参数校验@Valid @Validated(最新最全) 提示:统一参数校验,异常处理 文章目录 Springboot 参数校验@Valid @Validated(最新最全) 前言 ...

  4. DRF框架—序列化器中的字段校验规则

    一.怎么校验创建的项目名是否是唯一的,当项目名name字段不唯一,怎么设置提示信息? 方法:导入UniqueValidator from rest_framework.validators impor ...

  5. Shrio框架实现自定义密码校验规则

    shrio自己内置一些密码校验规则,也可以实现简单的自定义,比如算法类型,hash次数等,但是有时候我们有一些比较特殊的密码校验规则,需要自定义来实现 1.shiro的密码校验是如何做的? 我们在登录 ...

  6. Struts2学习 表单校验——XML校验规则文件

    一.前言 表单输入校验是所有Web应用所必备的功能.表单输入校验分可以为客户端校验和服务器端校验.客户端校验一般使用javascript脚本实现,可以有效的进行数据校验,防止非法输入,可以减轻服务器压 ...

  7. Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码正则表达式...

    Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码校验正则表达式 ============================== ©Copyright 蕃薯耀 2017年11 ...

  8. Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码校验正

    Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码校验正则表达式 ============================== ©Copyright 蕃薯耀 2017年10 ...

  9. 公民身份证号码的编排规则

    现在普遍使用的都是18位的身份证号码,由17位数字本体码和1位校验码组成.作为尾位的校验码,采用ISO7064:1983,MOD11-2校验码系统,是根据校验公式,由本体码决定的,用来验证录入或转录过 ...

最新文章

  1. 在校园里捉到一只小鸟,怎么办?
  2. ERP中的合并会计报表
  3. NYOJ 636 世界末日
  4. Doc命令收集(一)
  5. 嵌入式电路设计(外围模块)
  6. java 53个关键字_java的保留(53个)关键字v11.docx
  7. windows安装fiddler
  8. java基础编程题库_JAVA基础编程练习题
  9. Ra2辅助制作(1)
  10. SSH免密登陆:Win登陆linux
  11. 计算机网络双绞线实验报告
  12. 百度搜索关键词的使用方式
  13. 安装nagios出现的两个错误记录
  14. 读书笔记-大教堂与集市
  15. MOT:A Higher Order Metric for Evaluating Multi-object Tracking
  16. “我不是坚强,我只是走投无路”,从职高到杭电、浙大、麻省计算机博士!...
  17. vue 给某个div设置回到顶部
  18. jeecg官网(jeecg官网 ios开发)
  19. C语言实现http服务器(Linux)
  20. Ubuntu18.04 截图神器 flameshot

热门文章

  1. 如何在 iPhone 上恢复微信聊天记录!
  2. 微信小程序真机调试手机端在无法连接电脑localhost:3000时如何调试解决办法
  3. 御坂御坂题解(出自北航校赛) 约瑟夫环问题高效解决方案
  4. 最详细的Excel模块Openpyxl教程——基础操作
  5. Vue2基础篇-21-非单文件组件
  6. 网易实习面经中的算法题(java版本含注释)
  7. Ubuntu14.04网易云音乐的下载及安装 ssh安装 卸载 安装输入法
  8. 程序人生:我相信每个软件测试工程师都有一份跟我差不多的心酸历程?
  9. 三相无刷直流电机的控制设计(一)基本硬件电路设计
  10. 南昌大学计算机考研2021,2021南昌大学考研参考书目