1、什么是正則表達式:
能讓計算機讀懂的字符串匹配規則。
2、正則表達式的寫法:
var re=new RegExp(‘規則’, ‘可選參數’);
var re=/規則/參數;
3、規則中的字符
1)普通字符匹配:
如:/a/ 匹配字符 ‘a’,/a,b/ 匹配字符 ‘a,b’
2)轉義字符匹配:
d 匹配一個數字,即0-9
D 匹配一個非數字,即除了0-9
w 匹配一個單詞字符(字母、數字、下劃線)
W 匹配任何非單詞字符。等價于[^A-Za-z0-9_]
s 匹配一個空白符
S 匹配一個非空白符
b 匹配單詞邊界
B 匹配非單詞邊界
. 匹配一個任意字符
var sTr01 = '123456asdf'; var re01 = /d+/; //匹配純數字字符串 var re02 = /^d+$/; alert(re01.test(sTr01)); //彈出true alert(re02.test(sTr01)); //彈出false
4、量詞:對左邊的匹配字符定義個數
? 出現零次或一次(最多出現一次)
- 出現一次或多次(至少出現一次)
- 出現零次或多次(任意次)
- {n} 出現n次
- {n,m} 出現n到m次
- {n,} 至少出現n次
5、任意一個或者范圍
[abc123] : 匹配‘abc123’中的任意一個字符
[a-z0-9] : 匹配a到z或者0到9中的任意一個字符
6、限制開頭結尾
^ 以緊挨的元素開頭
$ 以緊挨的元素結尾
7、修飾參數:
g: global,全文搜索,默認搜索到第一個結果接停止
i: ingore case,忽略大小寫,默認大小寫敏感
8、常用函數
1、test
用法:正則.test(字符串) 匹配成功,就返回真,否則就返回假
2、replace
用法:字符串.replace(正則,新的字符串) 匹配成功的字符去替換新的字符
正則默認規則
匹配成功就結束,不會繼續匹配,區分大小寫
var sTr01 = 'abcdefedcbaCef'; var re01 = /c/; var re02 = /c/g; var re03 = /c/gi; var sTr02 = sTr01.replace(re01,'*'); var sTr03 = sTr01.replace(re02,'*'); var sTr04 = sTr01.replace(re03,'*'); alert(sTr02); // 彈出 ab*defedcbaCef alert(sTr03); // 彈出 ab*defed*baCef alert(sTr04); // 彈出 ab*defed*ba*ef
常用正則規則
//用戶名驗證:(數字字母或下劃線6到20位) var reUser = /^w{6,20}$/; //郵箱驗證: var reMail = /^[a-z0-9][w.-]*@[a-z0-9-]+(.[a-z]{2,5}){1,2}$/i; //密碼驗證: var rePass = /^[w!@#$%^&*]{6,20}$/; //手機號碼驗證: var rePhone = /^1[3458]d{9}$/;