一、基本语法:
^--------匹配输入字符串的开始位置 如:/^a/
$--------匹配输入字符串的结束位置 如:/y$/
*--------匹配前面的子表达式零次或多次,等价于 {0,} 如:/zo*/与/zo{0,}/ 会匹配z、zo、zoo等。
+--------匹配前面的子表达式一次或多次,等价于 {1,} 如:/zo+/与/zo{1,}/ 会匹配zo、zoo等,但不能匹配 "z"。
?--------匹配前面的子表达式零次或一次,等价于 {0,1} 如:/do(es)+/与/do(es){0,1}/ 会匹配do、does。
\d-------匹配一个数字字符。等价于 [0-9]。
\D------匹配一个非数字字符。等价于 [^0-9]。
\S------匹配任何空白字符。包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
\s-------匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
x|y------匹配 x 或 y。如:/(b|d|h)ear/,可以匹配:bear、dear、hear。x,y也可以是独立的正则表达式,如:(^\d{2}$)|(^\d{5}$),匹配2位和5位数字。
[xyz]------字符集合。匹配所包含的任意一个字符。
[a-z]------字符范围。匹配指定范围内的任意一个小写字符。
[A-Z]------字符范围。匹配指定范围内的任意一个大写字符。
[0-9]------数字范围。匹配指定范围内的任意一个数字。
二、身份证号码、护照,使用正则表达式验证:
var IdCardNumberReg = /(^\d{15}$)|(^\d{17}([0-9]|X)$)/;
var PassportNumberReg = /^1[45][0-9]{7}$|(^[P|p|S|s]\d{7}$)|(^[S|s|G|g|E|e]\d{8}$)|(^[Gg|Tt|Ss|Ll|Qq|Dd|Aa|Ff]\d{8}$)|(^[H|h|M|m]\d{8,10}$)/;
var IsValid=IdCardNumberReg.test("51290319991029026X");