js正規表示式

2022-07-18 03:18:11 字數 3074 閱讀 4078

正規表示式的寫法:

var reg = new regexp("str","gim");  new正則物件

var reg1 = /str/gim;      正則字面量(常用)

g  全域性匹配

i   不區分大小寫

m  執行多行匹配

根據需求選擇:i   im   img   ig  gm   g   m

比較new regexp()與regexp()

當我們在new正則物件,裡面傳遞的引數是正則物件時,如:var reg2 = new regexp(reg1,'g'),此時生成的是乙個新的正則物件,也就是reg2 === reg1  返回false;

我們不用new時,直接寫regexp(),如:var reg3 = regexp(reg1,'g'),此時沒有生成新的物件,reg3的值還是原來的正則物件,reg3 === reg1  返回true;

正則字面量

var reg = /[abcde]/;  乙個表示乙個字元,匹配abcde中的任意乙個字元

var reg = /[a-z]/;    "-"寫在範圍中間,就認為成乙個區間,如需匹配「-」,不要將它寫在中間就行;匹配所有的小寫字母中的乙個

var reg = /[^abc]/;   "^"寫在裡表示取反,匹配除了abc字元外的所有字元中的乙個

var reg = /^[abc]/;   」^「寫在外面表示以它後面的字元為開頭,也就是abc中誰是字串的開頭,就匹配誰

var reg = /a$/;      」^「寫在a後面,表示以a結尾

var reg = /[u4e00-u9fa5]/;  匹配所有的漢字中的乙個

(元字元)

var reg = /./;        "."查詢單個字元,除了換行和行結束符   /[^\n\r]/

var reg = /\w/;      "\w"查詢單個的單詞字元,含字母數字下劃線   /[a-z0-9_]/

var reg = /\w/;        "\w"查詢單個的非單詞字元  /[^\w]/  /[^a-z0-9_]/

var reg = /\d/;       "\d"查詢數字  /[0-9]/

var reg = /\d/;       "\d"查詢非數字字元  /[^\d]/  /[^0-9]/

var reg = /\s/;        "\s"查詢空白字元  /[\r\f\t\v\n ]/

var reg = /\s/;        "\s"查詢非空白字元  /[^\s]/

var reg = /\b/;           "\b"匹配單詞邊界  /a\b/ 字元a的後面為空,則匹配a

var reg = /\b/;        "\b"匹配非單詞邊界  /[^\b]/

var reg = /\n/;         "\n"查詢換行符  

(量詞) 

/n/      ""匹配x次,x=1 》  /n/;  x=2 》 /nn/;  x=3 》 /nnn/  (當x為0時;)

/n/      ""匹配x-y之間任意次,因為正規表示式是貪婪模式,它會優先匹配y次,不足y次,則匹配y-1次,依次遞減到x次為止

/n/      ""匹配最少出現x次

/n+/       "+"匹配任何包含至少乙個 n 的字串  /n/

/n*/        "*"匹配任何包含零個或多個 n 的字串       /n/

/n?/       "?"匹配任何包含零個或乙個 n 的字串     /a/

示例:

/n(?=a)/      "?=" 匹配後面緊接著指定字串a的n字元

/n(?!a)/       "?!" 匹配後面沒有緊接著指定字串a的n字元

reg.global       判斷regexp 物件是否具有標誌 g    返回boolead值

reg.ignorecase   判斷regexp 物件是否具有標誌 i     返回boolead值

reg.multiline    判斷regexp 物件是否具有標誌 m     返回boolead值

reg.source      返回正規表示式的源文字

reg.lastindex      用於規定下次匹配的起始位置

重要事項:不具有標誌 g 和不表示全域性模式的 regexp 物件不能使用 lastindex 屬性。

reg.exec(string)  用於檢索字串中的正規表示式的匹配,返回乙個陣列,其中存放匹配的結果。如果未找到匹配,則返回值為 null。

重要事項:如果在乙個字串中完成了一次模式匹配之後要開始檢索新的字串,就必須手動地把 lastindex 屬性重置為 0。

reg.test(string)  如果存在返回true,如果不存在返回false

reg.compile(正規表示式,[img])  重新編譯正規表示式

reg = /\d/g;  reg = /[123]/g;  reg.compile(reg)  //用後面的(reg = /[123]/g;)替換了前面的(reg = /\d/g;)

string.match()     找到乙個或多個正規表示式的匹配

string.search()    匹配到了就返回對應的索引值,沒有匹配到就返回-1;

string.split()      把字串分割為字串陣列

string.replace(正則,"替換的內容")     將正規表示式匹配到的內容進行替換,並返回替換後新的字串

貪婪模式和非貪婪模式

貪婪模式:正規表示式本就是貪婪模式,盡量往多的匹配

非貪婪模式: 在量詞後加"?" 例如 /\d?/g

var str = "12345678912";

var reg = /\d?/g;

console.log(str.match(reg));//["123", "456", "789"]

js數字正規表示式,js小數正規表示式

js數字正規表示式,js小數正規表示式 是否為數字 僅正數 包括正整數 正小數 0 param value returns function isnumber value 是否為所有數字 正數 負數 包括整數 小數 0 param value returns function isnumberall...

JS 正規表示式

驗證數字的正規表示式集 驗證數字 0 9 驗證n位的數字 d 驗證至少n位數字 d 驗證m n位的數字 d 驗證零和非零開頭的數字 0 1 9 0 9 驗證有兩位小數的正實數 0 9 0 9 驗證有1 3位小數的正實數 0 9 0 9 驗證非零的正整數 1 9 0 9 驗證非零的負整數 1 9 0 ...

js正規表示式

用正規表示式模式在字串中執行查詢,並返回包含該查詢結果的乙個陣列。rgexp.exec str 引數rgexp 必選項。包含正規表示式模式和可用標誌的正規表示式物件。str 必選項。要在其中執行查詢的string物件或字串文字。說明如果exec方法沒有找到匹配,則它返回null。如果它找到匹配,則e...