關於正規表示式可能已經是乙個老生常談的話題了,但是說再多都不為過,主要是要熟練掌握,以達到靈活運用的地步。
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到m次
至少出現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$/;
//郵箱驗證:
var remail = /^[a-z0-9][\w\.\-]*@[a-z0-9\-]+(\.[a-z])$/i;
//密碼驗證:
var repass = /^[\w!@#$%^&*]$/;
//手機號碼驗證:
var rephone = /^1[3458]\d$/;
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...