东拼西凑加上自己仅有的一小点知识,拼凑了一个验证身份证的正则,粗略测试了下没什么问题。
((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位身份证正则表达式校验,带详细注释,每个字符注释,大厂通用
正则表达式 JS 身份证验证 正则表达式 JS 身份证验证 正则表达式 JS 身份证验证
身份证正则表达式身份证正则表达式身份证正则表达式
c#使用正则表达式验证身份证号码,工程完全可以运行,方便大家参考和学习
正则表达式验证身份证号码 共两个验证 一个是简单的 只判断是不是15位或者18位, 另外一个方法是复杂的校验,严格判断身份证号码是否合理
最完善的身份证号码合法性校验Java算法,适合Android平台,可以直接拿来在项目中使用,正则表达式。
ASP代码,可以验证身份证号码的正则表达式
js正则表达式校验数字、email、身份证号等
早期我用c#开发了一个正则表达式工具,而现在这个版本是我用java实现的。 众所周知,java在桌面应用方面一直是短板,c#则有着天然的优势。然作为一个java开发人员,采用java的编程思想来实现此功能还是很有必要的。
常用正则表达式大全: 匹配中文字符的正则表达式 匹配空白行的正则表达式 匹配HTML标记的正则表达式 匹配Email地址的正则表达式 匹配网址URL的正则表达式 匹配国内电话号 匹配中国邮政编码 匹配身份证 匹配ip地址 ...
介绍了中国身份证号正则表达式的细节
身份证号码18位 和15位 验证的方法加正则表达式
常用验证正则表达式,手机号验证,身份证号验证,邮箱验证,等等,
收集的常用JS正则表达式,供大家下载使用。希望可以给大家带来方便。
JavaScript正则表达式验证身份证号码是否合法(两种方法)分析.docx
身份证验证,正则表达式的应用,除了有出生年月日验证,还有校验码的验证,省份的验证
VB 正则表达式 使用详解 VB 正则表达式 使用详解
针对多个平时常用的规则表达式~! 例如(只能输入数字:"^[0-9]*$"。 只能输入n位的数字:"^\d{n}$"。 只能输入至少n位的数字:"^\d{n,}$"。 只能输入m~n位的数字:。"^\d{m,n}$" 只能输入零和非零开头的数字:"^(0...
Android EditText 正则表达式 限制数字、字母、字符 输入 密码框
开发过程中,常常需要对一些输入信息进行有效性验证,使用正则表达式进行校验是最简单、效率最高的方式了,下面就来看看15/18位身份证号码验证的正则表达式吧。 介绍 xxxxxx yyyy MM dd 375 0 十八位 xxxxxx yy MM...