match, test, exec區別
區別一,從屬:
正規表示式方法:test, exec;
字串方法:match
使用
1、test():在字串查詢符合正則的內容,如果查詢到返回true,反之返回false
用法:正則.test(字串)
2、search():在字串搜尋符合正則的內容,找到就返回出現的位置index。如果有多個相匹配的,只會返回第乙個匹配的位置。搜尋失敗返回-1
用法:字串.search(正則)
3、match():在字串搜尋符合正則的內容,成功返回內容(陣列格式),失敗返回null。
用法:字串.match(正則)
4、replace():查詢符合正則的內容,替換成對應字串。返回替換後的內容
用法: 字串.replace(正則,『替換內容』)
區別二,返回結果:
match和exec返回的結果是一樣的,都是陣列
// 非全域性匹配:
var s = "aaa bbb ccc";
var reg = /\b\w+\b/;
reg.test(s); // true
reg.exec(s); // ["aaa", index: 0, input: "aaa bbb ccc", groups: undefined]
s.match(reg); // ["aaa", index: 0, input: "aaa bbb ccc", groups: undefined]
區別三,使用:
var val1 = '88--';
var reg = /\d+/g; // 匹配非數字字元
reg.test(val1);
reg.exec(val1);
val1.match(reg);
舉例
test:返回的是乙個 boolean 值
var val1 = '88--'
var val2 = '123'
var reg = /\d+/g; // 匹配非數字字元
var res1 = reg.test(val1) // true
var res2 = reg.test(val2) // false
var val1 = 'file.mov'
var reg = new regexp('\.(mov|mp4)$','i'); // reg: /.(mov|mp4)$/i
// 錯誤寫法: new regexp('/\.(mov|mp4)$/','i'); // reg: //.(mov|mp4)$//i
// test 用法以及返回結果
var teststr1 = reg.test(val1)
console.log('teststr1:',teststr1) // true
// exec 用法以及返回結果
var execstr1 = reg.exec(val1)
console.log('execstr1:',execstr1) // ["mov", index: 5, input: "file.mov", groups: undefined]
// match 用法以及返回結果
var matchstr1 = val1.match(reg)
console.log('matchstr1:',matchstr1) // ["mov", index: 5, input: "file.mov", groups: undefined]
主要正規表示式元字元列表(待完善)
類別 字元含義 定位符 行首 預設 行尾 預設 b 字邊界,是單詞和空格之間的位置 b 非字邊界,除字邊界之外的任何位置 限定符?重複 0,1 重複 1,重複 0,重複 n 重複 n,重複 n,m pattern 將符合表示式pattern描述的若干字元整體視為乙個字元進行匹配。注意 圓括號將導致相...
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 ...