`
huadi223
  • 浏览: 21637 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

18位身份证正则表达式

阅读更多
东拼西凑加上自己仅有的一小点知识,拼凑了一个验证身份证的正则,粗略测试了下没什么问题。
((11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42|43|44|45|46|50|51|52|53|54|61|62|63|64|65|71|81|82|91)\d{4})((((19|20)(([02468][048])|([13579][26]))0229))|((20[0-9][0-9])|(19[0-9][0-9]))((((0[1-9])|(1[0-2]))((0[1-9])|(1\d)|(2[0-8])))|((((0[1,3-9])|(1[0-2]))(29|30))|(((0[13578])|(1[02]))31))))((\d{3}(x|X))|(\d{4}))
其实就是验证了身份证前2位要符合地区编码规范,7-14位符合年月日的规范,最后可以是任意4位数字或者大小写X。
String pattern = "((11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42|43|44|45|46|50|51|52|53|54|61|62|63|64|65|71|81|82|91)\\d{4})((((19|20)(([02468][048])|([13579][26]))0229))|((20[0-9][0-9])|(19[0-9][0-9]))((((0[1-9])|(1[0-2]))((0[1-9])|(1\\d)|(2[0-8])))|((((0[1,3-9])|(1[0-2]))(29|30))|(((0[13578])|(1[02]))31))))((\\d{3}(x|X))|(\\d{4}))";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(idNumber);
return m.matches();

var pattern = /^((11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42|43|44|45|46|50|51|52|53|54|61|62|63|64|65|71|81|82|91)\d{4})((((19|20)(([02468][048])|([13579][26]))0229))|((20[0-9][0-9])|(19[0-9][0-9]))((((0[1-9])|(1[0-2]))((0[1-9])|(1\d)|(2[0-8])))|((((0[1,3-9])|(1[0-2]))(29|30))|(((0[13578])|(1[02]))31))))((\d{3}(x|X))|(\d{4}))$/;
return pattern.test(idNumber);
分享到:
评论

相关推荐

    一代15位身份证二代18位身份证正则表达式校验.md

    一代15位身份证二代18位身份证正则表达式校验,带详细注释,每个字符注释,大厂通用

    正则表达式 JS 身份证验证

    该正则表达式能够更准确地验证18位身份证号码的格式,并且支持15位身份证号码的验证。通过这种方式,可以确保身份证号码的出生日期部分是合理的。 #### 三、示例代码解析 接下来我们通过一个具体的函数来实现...

    身份证正则表达式的js文件和例子

    在IT行业中,身份证正则表达式是一个非常实用的工具,特别是在进行数据验证或者用户输入检查时。身份证号码是中国公民身份的唯一标识,由18位数字组成,包含出生日期、地区代码以及顺序号和校验码。在JavaScript(js...

    使用Java正则表达式实现一个简单的身份证号码验证

    ### 使用Java正则表达式实现一个简单的身份证号码验证 #### 一、背景介绍 身份证号码是中国公民的身份标识,由15位或18位数字组成(早期为15位,后改为18位)。其中,第18位是校验码,可能是数字0~9或者大写字母X。...

    c#使用正则表达式验证身份证号码

    c#使用正则表达式验证身份证号码,工程完全可以运行,方便大家参考和学习

    正则表达式校验身份证号码

    ### 正则表达式校验身份证号码 #### 知识点概述 身份证号码在中国大陆具有唯一性,用于标识每一个公民的身份。身份证号码分为15位和18位两种格式,其中18位号码是在15位基础上增加了一个4位出生年份以及一位校验码...

    Java身份证号码合法性校验算法,正则表达式。

    最完善的身份证号码合法性校验Java算法,适合Android平台,可以直接拿来在项目中使用,正则表达式。

    正则表达式大全 - 收集的最常用正则表达式

    11. 匹配身份证:`d{15}|d{18}` - 中国的身份证号码可以是15位或18位,这个正则表达式都能匹配。 12. 匹配IP地址:`d+.d+.d+.d+` - 这个正则表达式可以识别标准IPv4地址,如192.168.0.1。 此外,还有一些用于匹配...

    常用正则表达式大全.txt

    9. **身份证号验证**:只允许输入15位或18位的身份证号。 - 正则表达式:`^\d{15}|\d{18}$` - 示例:`123456789012345` ### HTML与文本处理 1. **HTML标签去除**:用于移除HTML标签。 - 正则表达式:`(?:[a-zA-...

    ASP,验证身份证号码的正则表达式

    ASP代码,可以验证身份证号码的正则表达式

    js正则表达式校验数字、email、身份证号等

    js正则表达式校验数字、email、身份证号等

    正则表达式工具(java版)

    早期我用c#开发了一个正则表达式工具,而现在这个版本是我用java实现的。 众所周知,java在桌面应用方面一直是短板,c#则有着天然的优势。然作为一个java开发人员,采用java的编程思想来实现此功能还是很有必要的。

    VB 正则表达式 使用详解

    VB 正则表达式使用详解 VB 正则表达式是指使用正则表达式在 VB 中进行字符串处理和搜索操作。正则表达式是一种强大的工具,能够在字符串中搜索和匹配特定模式。它可以应用于数据有效性验证、文本替换、字符串提取等...

    报表工具FineReport正则表达式定义规则

    - 说明:身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X。 #### 四、JavaScript中的正则表达式 在JavaScript中使用正则表达式时,需要在正则表达式前后加上...

    java 正则表达式应用jar包 regex-smart.jar

    `regex-smart.jar`可能已经预设了一些常见场景的正则表达式模板,比如验证电话号码、身份证号等。 对于初学者,使用`regex-smart.jar`可以降低学习曲线,快速实现功能。而对于有经验的开发者,这个库可以提高代码的...

    正则表达式 正则表达式资料 正则表达式教程

    虽然这并不是一篇完整的教程,但它提供了一系列实用的正则表达式实例,如用于判断电子邮件地址、QQ号码、身份证号码格式等。对于需要在实际项目中运用正则表达式的开发者来说,这些实例是非常有价值的参考资料。 ##...

    正则表达式 Java 判断字串是否合理

    根据给定的文件信息,我们可以总结出以下关于Java正则表达式的重要知识点: ### 1. 正则表达式简介 正则表达式是一种强大的文本处理工具,它能够帮助我们匹配、查找、替换等操作符合某种规则的字符串。在Java中,...

    java正则表达式验证IP地址

    在实际开发中,我们可以使用正则表达式来验证各种类型的数据,例如验证email、手机号码、身份证号码等。正则表达式可以大大提高我们的开发效率和代码质量。 此外,还有其他的方式来验证IP地址,例如使用InetAddress...

Global site tag (gtag.js) - Google Analytics