验证身份证号码的正确正则表达式/(^d{15}$)|(^d{18}$)|(^d{17}(d|X|x)$)/
function isCardNo(card)
{
// 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
var reg = /(^d{15}$)|(^d{18}$)|(^d{17}(d|X|x)$)/;
if(reg.test(card) === false)
{
alert("身份证输入不合法");
return false;
}
}
扩展资料:
正则表达式的书写语法
1、^ 表示匹配字符串的开始位置 (例外 用在中括号中[]时,可以理解为取反,表示不匹配括号中字符串)
2、$ 表示匹配字符串的结束位置
3、* 表示匹配零次到多次
4、+ 表示匹配一次到多次(至少有一次)
5、? 表示匹配零次或一次
6、. 表示匹配单个字符
7、| 表示为或者,两项中取一项
8、( )小括号表示匹配括号中全部字符
9、[ ]中括号表示匹配括号中一个字符范围描述如[0-9a-zA-Z]
10、{ }大括号用于限定匹配次数 如{n}表示匹配n个字符 {n,}表示至少匹配n个字符 {n,m}表示至少n,最多m
11、 转义字符如上基本符号匹配都需要转义字符 如* 表示匹配*号
12、w表示英文字母和数字 W 非字母和数字
13、d 表示数字 D 非数字
参考链接来源:百度百科-正则表达式