正規表示式的寫法:
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...