验证身份证号码的正确正则表达式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了验证身份证号码的正确正则表达式相关的知识,希望对你有一定的参考价值。
验证身份证号码的正确正则表达式 /(^\\d15$)|(^\\d18$)|(^\\d17(\\d|X|x)$)/
function isCardNo(card)
// 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
var reg = /(^\\d15$)|(^\\d18$)|(^\\d17(\\d|X|x)$)/;
if(reg.test(card) === false)
alert("身份证输入不合法");
return false;
扩展资料:
正则表达式的书写语法
1、^ 表示匹配字符串的开始位置 (例外 用在中括号中[ ] 时,可以理解为取反,表示不匹配括号中字符串)
2、$ 表示匹配字符串的结束位置
3、* 表示匹配 零次到多次
4、+ 表示匹配 一次到多次 (至少有一次)
5、? 表示匹配零次或一次
6、. 表示匹配单个字符
7、| 表示为或者,两项中取一项
8、( ) 小括号表示匹配括号中全部字符
9、[ ] 中括号表示匹配括号中一个字符 范围描述 如[0-9 a-z A-Z]
10、 大括号用于限定匹配次数 如 n表示匹配n个字符 n,表示至少匹配n个字符 n,m表示至少n,最多m
11、\\ 转义字符 如上基本符号匹配都需要转义字符 如 \\* 表示匹配*号
12、\\w 表示英文字母和数字 \\W 非字母和数字
13、\\d 表示数字 \\D 非数字
参考链接来源:百度百科-正则表达式
参考技术A isIDCard1=/^[1-9]\d7((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d3$|^[1-9]\d5[1-9]\d3((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d3([0-9]|X)$/;15位到18位的正则
正则只能验证身份证的格式是否正确,是验证不了真伪的,只有公安系统里才能验证身份证号真假。本回答被提问者和网友采纳 参考技术B var myRegExp=/^\d17[\d|x]$|^\d15$/i;用myRegExp就可以验证输入的字符串是否符合身份证的编码规则了或者你直接把/^\d17[\d|x]$|^\d15$/i;放入控件的正则表达式属性里面就OK了 参考技术C 你直接把你的身份证号码输进去就可以了,直接验证。 参考技术D var reg_idCard = /^(^[1-9]\d7((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d3$)|(^((1[1-5])|(2[1-3])|(3[1-7])|(4[1-6])|(5[0-4])|(6[1-5])|71|(8[12])|91)\d4((19\d2(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(19\d2(0[13578]|1[02])31)|(19\d202(0[1-9]|1\d|2[0-8]))|(19([13579][26]|[2468][048]|0[48])0229))((\d4)|\d3[Xx])$)$/;
这个是我网上找了 两个特别常见的身份证正则(然而都是不全的),然后自己研究了会拼接起来的,我验证是没问题的,你们试试看吧!
测试数据:
15位:440253850213582
18位:340402199909090211
18位带X:52242619811105565X
以上是关于验证身份证号码的正确正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
身份证号码的正则表达式及验证详解(JavaScript,Regex)
身份证号码的正则表达式及验证详解(JavaScript,Regex)