千家信息网

java中身份*号正则表达式

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,很多学员在测试的时候对于java编写的程序中身份*号码的正则表达式不太清楚,在此专门写一篇博文说明一下。首先要明白身份*号码的编码规则,然后根据编码规则去写正则表达式:18位身份*号编码规则如下:第1
千家信息网最后更新 2026年11月01日java中身份*号正则表达式

很多学员在测试的时候对于java编写的程序中身份*号码的正则表达式不太清楚,在此专门写一篇博文说明一下。


首先要明白身份*号码的编码规则,然后根据编码规则去写正则表达式:


18位身份*号编码规则如下:

第1位和第2位:省,自治区,直辖市代码(有关取值可查看代码表);

第3位和第4位:地级市,盟,自治州代码(有关取值可查看代码表);

第5位和第6位:县,县级市,区代码(有关取值可查看代码表);

第7位到第10位:出生年;

第11位和第12位:出生月;

第13位和第14位:出生日;

第15位到第17位:顺序码,第17位若是男生则为单数,若是女生则为双数(大家可以自己验证一下);

第18位:表示校验码,可以是0-9或者X(注意是大写的);


所以验证18位身份*号码的正则表达式为:

"^[1-9]\\\\d{5}[1-9]\\\\d{3}((0[1-9])||(1[0-2]))((0[1-9])||(1\\\\d)||(2\\\\d)||(3[0-1]))\\\\d{3}([0-9]||X)$"

其中:

1、^表示开始,$表示结束;

2、前六位:[1-9]第一位是1-9其中一位,后面是0-9随机数5个({5}表示五位数的意思);

3、年份:[1-9]\\\\d{3}表示年份是1-9开始加0-9随机数三个,例如1994;

4、月份:((0[1-9])||(1[0-2]))表示月份是01-09或者10-12其中的两位数;

5、日:((0[1-9])||(1\\\\d)||(2\\\\d)||(3[0-1]))表示01-09或者10-19或者20-29或者30-31其中的两位数;

6、最后四位:\\\\d{3}([0-9]||X)表示3位0-9的随机数加0-9其中一位或者X;


但是以上正则表达式验证的身份*号码只能说是符合×××编码规则,不能确定×××是否有效。因为即使以上的正则表达式仍然无法避免出现2月31日的情况,另外,对于最后一位的校验码是根据具体的公式推算出来的,不是随机的。但是对于当下的一般项目来说,这个正则表达式已经算是比较严谨的一个了。


补充:15位的身份*号已经不再使用,但是对于15位身份*号码的正则表达式也进行一下补充,供大家参考:

"^[1-9]\\\\d{7}((0[1-9])||(1[0-2]))((0[1-9])||(1\\\\d)||(2\\\\d)||(3[0-1]))\\\\d{3}$"

说明:15位×××出生年显示两位,例如1994年出生,18位×××显示1994,而15位则显示94,另外15位×××无校验码,所以整体比18位身份*号少了3位。


附-×××号最后一位校验码的确定算法为:


1、将身份*号前17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:
7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2;
2、将这17位数字和系数相乘的结果相加,用加出来和除以11,确定余数;
3、余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字,其分别对应的最后一位×××的号码为1-0-X-9-8-7-6-5-4-3-2。
大家可以亲自尝试测试一下,看一看用自己身份*号的前17位是否可以推导出最后一位检验码。



讲师更多课程请访问:http://edu.51cto.com/lecturer/5811414.html



身份 正则 表达式 代码 号码 编码 规则 系数 随机数 有关 验证 位数 余数 年份 数字 月份 若是 生年 测试 自治 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网巨头反垄断金融科技 重庆互联网络科技 互联网科技排名 迪茉互联网科技 互联网科技ppt模板 互联网科技视频素材 哈尔滨新华互联网科技 银川新华互联网科技职业技术培训学校图片 受益于互联网科技的高速发展 宁夏科技产业互联网案例 崇明区互联网教育科技诚信经营 明优互联网科技有限公司 富国互联网科技002692 万物互联网智能科技 西安左小互联网科技有限公司 北京军民互联网科技公司 互联网的科技体现在哪里 科技互联网专业工作会议发言稿 长沙易易互联网科技有限公司 东风日产互联网科技公司叫什么 新华互联网科技 互联网科技工作委员会副主任毛军 互联网中国科技 网络科技有限互联网 万易互联网科技 上游互联网科技 深圳前海聚择互联网科技有限公司 杭州壁岐互联网科技有限公司 互联网时代科技型公司的机会 互联网科技快速发展优美句子
0