正则表达式学习(一):身份证号码、护照,使用正则表达式验证 - 图图的耳朵

时间:2024-03-05 12:33:33

 

一、基本语法:

^--------匹配输入字符串的开始位置   如:/^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------匹配 xy。如:/(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");