Java正则表达式实用代码-验证身份证

正则表达式为:[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx],其中前六位地区代码非0开头,年份和日期遵循特定格式,顺序码后接一位可为x的校验码。以下为验证身份证号码有效性的示例代码。执行上述示例代码,得到的...
Java正则表达式实用代码-验证身份证
本文以孙卫琴姐姐的系列Java经典书籍为参考,对Java正则表达式用于验证身份证号码的实用代码进行介绍。

对于第一代身份证的15位验证,正则表达式如下:

编码规则从左到右依次为6位地区代码,6位出生年份后两位及日期,3位顺序码。

正则表达式为:[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3},其中前六位地区代码非0开头,后两位是年份,接着是月份和日期,最后是顺序码。

对于第二代身份证的18位验证,正则表达式如下:

编码规则从左到右依次为6位地区代码,8位年份及日期,3位顺序码,1位校验码(可为x)。

正则表达式为:[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx],其中前六位地区代码非0开头,年份和日期遵循特定格式,顺序码后接一位可为x的校验码。

以下为验证身份证号码有效性的示例代码。

执行上述示例代码,得到的打印结果如下。2024-09-06
mengvlog 阅读 8 次 更新于 2025-07-19 15:36:34 我来答关注问题0
  • 正则表达式为:[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3},其中前六位地区代码非0开头,后两位是年份,接着是月份和日期,最后是顺序码。对于第二代身份证的18位验证,正则表达式如下:编码规则从左到右依次为6位地区代码,8位年份及日期,3位...

  •  文暄生活科普 Java正则表达式实用代码-验证日期格式

    在验证日期时,首先需要关注年份部分,由于年份由4位数字组成,且范围为0-9,因此,使用正则表达式[0123][0123456789]表示年份有效范围。接着,对于月份,考虑到它可能为01至12,可分为两个部分处理:01至09用正则表达式0[1-9]表示,而10至12则用1[0-2]表示。对于天数,同样需要分为三种情况:01...

  •  文暄生活科普 Java正则表达式实用代码-验证车牌号

    为了确保这一逻辑在程序中得以实现,我们编写了一个Java代码示例,用以判断输入的字符串是否符合车牌号的格式规则。以下为该示例程序的代码片段:运行上述程序后,会输出验证结果,清晰地指示输入的字符串是否满足车牌号的格式要求。通过这一过程,不仅实现了对车牌号的验证,同时也展示了正则表达式在解决实际...

  •  williamegger 求一个JAVA正则表达式验证数字和短线

    你试下这个,我测试了下。。应该可以的。。\\d+-?\\d+|\\d 下面是我用的测试代码。。public class Test { public static void main(String[] args){ String regex = "\\d+-?\\d+|\\d";String s1 = "12-45";String s2 = "35-";String s3 = "35-14-4";System.out.println(...

  •  aoisora_blue JAVA正则表达式判断 只能包含汉字、英文、“_”和数字 ,正则该怎么写呢?

    代码如下:Testpublic void test1(){//匹配正则表达式表达式String str = "[\\u4e00-\\u9fa5]*|\\w*|\\d*|_*";Pattern pattern = Pattern.compile(str);//要匹配的字符串String mStr = "还有多远_344fjdk";System.out.println("测试的字符串:"+mStr);Matcher m = pattern.matcher(mStr)...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部