驗證身份證號碼的正確正則表達式 /(^d{15}$)|(^d{18}$)|(^d{17}(d|X|x)$)/
function?isCardNo(card)?
{??
//?身份證號碼為15位或者18位,15位時全為數(shù)字,18位前17位為數(shù)字,最后一位是校驗位,可能為數(shù)字或字符X?
var?reg?=?/(^d{15}$)|(^d{18}$)|(^d{17}(d|X|x)$)/;??
if(reg.test(card)?===?false)??
{??
alert("身份證輸入不合法");??
return??false;
}?
}?
擴展資料:
正則表達式的書寫語法
1、^ ?表示匹配字符串的開始位置 ?(例外 ?用在中括號中[ ] 時,可以理解為取反,表示不匹配括號中字符串)
2、$ ?表示匹配字符串的結(jié)束位置
3、* ?表示匹配 零次到多次
4、+ ?表示匹配 一次到多次 (至少有一次)
5、? ?表示匹配零次或一次
6、. ?表示匹配單個字符?
7、| ?表示為或者,兩項中取一項
8、( ?) 小括號表示匹配括號中全部字符
9、[ ?] 中括號表示匹配括號中一個字符 范圍描述 如[0-9 a-z A-Z]
10、{ ?} 大括號用于限定匹配次數(shù) ?如 {n}表示匹配n個字符 ?{n,}表示至少匹配n個字符 ?{n,m}表示至少n,最多m
11、 ?轉(zhuǎn)義字符 如上基本符號匹配都需要轉(zhuǎn)義字符 ? 如 * ?表示匹配*號
12、w 表示英文字母和數(shù)字 ?W ?非字母和數(shù)字
13、d ?表示數(shù)字 ? D ?非數(shù)字
參考鏈接來源:百度百科-正則表達式