正則表達式學習(一):身份證號碼、護照,使用正則表達式驗證


 

一、基本語法:

^--------匹配輸入字符串的開始位置   如:/^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");

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM