javascript正則表達式

正則表達式

爲什麼要有這個正則表達式:因爲查找是一個比較複雜的東西,我們想要更加準確快速找到自己想要的。

什麼是正則表達式:它可以定義一種字符串邏輯的公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字符串”,這個“規則字符串”用來表達對字符串的一種過濾邏輯

定義規則:

1、使用/規則/修飾符,修飾符可以省略

Var patt = /hellocooldog/i;

2、新創建一個RegExp對象,給兩個參數分別爲規則和修飾符,修飾符可以省略

Var patt = new RegExp(“//hello”,”i”);

常用的修飾符

i:不區分大小寫

Var str = “HelloCoolDog”;

Var patt1 = /hellocooldog/i;

Var result = str.search(patt1);

Document.write(result);

g:全局匹配,從找到的下一個下標開始再繼續往後查找,一直到字符串結束

Var patt2 = /o/g;

//全局查找

Var result = str.replace(patt2,”O”);

Document.write(result);

字符模式

[Hel]:從裏面字符中任意一個去匹配字符串

var str = "HelloCoolDog";

    var patt= /[Hel]/g;//隨機取一個

    varresult = str.match(patt);

   document.write(result);//H,e,l,l,l

[0-9]:匹配任意一個數字

var str = "1H2el3loCoo4lDog6";

    varpatt1 = /[0-9]/g;//隨機取一個

    varresult = str.match(patt);

   document.write(result);//1,2,3,4,6

[a-z]:匹配所有小寫字母

var str = "1H2el3loCoo4lDog6";

    varpatt1 = /[a-z]/g;//隨機取一個ig可以一起用

    varresult = str.match(patt1);

   document.write(result);//e,l,l,o,o,o,l,o,g

[A-Z]:匹配所有大寫字母

var str = "1H2el3loCoo4lDog6";

    varpatt1 = /[A-Z]/g;//隨機取一個ig可以一起用

    varresult = str.match(patt1);

    document.write(result);//H,C,D

(a|x):匹配a或x,a也能用[]來代替

var str = "1H2el3loCoo4lDog6";

    varpatt1 = /[a-z]|[A-Z]/g;//隨機取一個ig可以一起用

    varresult = str.match(patt1);

   document.write(result);//H,e,l,l,o,C,o,o,l,D,o,g

常用的元字符:

\w:單詞字符 包括所有字母和數字和下劃線w是word的縮寫

var str = "1H2el_3loCo_o4l+Do-g6";

    var patt= /\w/g;//word

    varresult = str.match(patt);

   document.write(result);

\s:空格,space的縮寫

var str = " H2el_3loCo_ 4l+Do-g6";

    var patt= /\s/g;//space

    varresult = str.replace(patt,"&");

    document.write(result);

\d:數字 digital的縮寫

Var patt = /\d/g;//digital 數字

常用的量詞

o+:找到一個或多個o

var str ="1H2el_3loCoo_o4l&Doooog6";

    var patt= /oo+/g;

    varresult = str.match(patt);

   document.write(result);

        

o*:匹配零個或多個o

var str = "1H2el_3looCo_o4l&Doooog6";

    var patt= /oo*!/g;

    varresult = str.match(patt);

   document.write(result);

o?:零個或一個o

var str ="1H2el_3looCo_o4l&Doooog6";

    var patt= /oo?/g;

    varresult = str.match(patt);

   document.write(result);

o{4}:只會匹配找到的四個o

var str ="1H2el_3looCo_o4l&Doooog6";

    var patt= /o{4}/g;

    varresult = str.match(patt);

   document.write(result);

n{2,3}:最少兩個,最多3個

var str ="1H2el_3looCo_o4l&Doooog6";

    var patt= /o{2,3}/g;//最少兩個,最多3個

    varresult = str.match(patt);

    document.write(result);

o{2,}:最少2個

var str ="1H2el_3looCo_o4l&Doooog6";

    var patt= /o{2,}/g;

    varresult = str.match(patt);

   document.write(result);

^n:必須以後面的內容開頭

var str = "1Hello huadian";

    var patt= /^[123]\w+/;

    varresult = str.match(patt);

   document.write(result);

n$:必須以前面的內容結尾

 

RegExp常用的兩種方法

exec():返回的是找到符合正則表達式新的字符串

test():返回的true或者false當字符串滿足正則表達式是爲true否則爲false。

var str = prompt("請輸入密碼");

    var patt= /([a-z]|[A-Z])\w{5,17}/;

   alert(patt.test(str));

   if(patt.test(str)){

        alert("您輸入的密碼正確");

    }else{

       alert("對不起,您輸入的密碼不符合規範");

    }

發佈了35 篇原創文章 · 獲贊 6 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章