regexp.test(str)
作用: 檢測乙個字串是否匹配某個正則。滿足返回true,否則返回false。
var regexp = /^1[3-9]\d$/; // 手機號正則
console.log( regexp.test('13588888888') ); // true
console.log( regexp.test('12588888888') ); // false 第2位不滿足
正則方法test會受到正則物件全域性g
的影響 ,會導致正則物件lastindex屬性值,lastindex是下次開始往後匹配的起始位置,未加全域性g,則lastindex屬性值一直從0開始往後匹配。
var regexp = /^1[3-9]\d$/g;
console.log( regexp.test('13588888888') ); // true
console.log(regexp.lastindex); // 11
= 0; 重置下次開始匹配的位置為0,下面的test結果就會為true
console.log( regexp.test('13588888888') ); // false
console.log(regexp.lastindex); // 0
console.log( regexp.test('13588888888') ); // true
console.log(regexp.lastindex); // 11
一般對於結果滿足或不滿足的,正則物件不要加全域性g即可。
regexp.exec(str)
作用: 返回正則匹配的結果,以乙個陣列返回 。此陣列第乙個元素(下標0)是正則相匹配的字串,後面的元素依次是括號中捕獲組的內容。未匹配到則返回null
此和方法和test一樣,都會受到正則全域性標識g
的影響。
未加g測試:
var regexp = /(\d)\d(\d)/; //未加g
regexp.exec('13588888888') ; // ["13588888888", "135", "8888", index: 0, input: "13588888888"]
regexp.lastindex; // 0
regexp.exec('13588888888') ; // ["13588888888", "135", "8888", index: 0, input: "13588888888"]
regexp.lastindex; // 0
regexp.exec('13588888888') ; // ["13588888888", "135", "8888", index: 0, input: "13588888888"]
加g測試:
var regexp = /(\d)\d(\d)/g; //`加g
regexp.exec('13588888888'); // ["13588888888", "135", "8888", index: 0, input: "13588888888"]
regexp.lastindex; // 11
regexp.exec('13588888888'); // null
regexp.lastindex; // 0
regexp.exec('13588888888'); // ["13588888888", "135", "8888", index: 0, input: "13588888888"]
javascript 常用正則校驗規則
數字驗證的正規表示式集 驗證數字 0 9 驗證 位的數字 d 驗證至少 位數字 d 驗證mn位的數字 d 驗證零和非零開頭的數字 0 1 9 0 9 驗證有兩位小數的正實數 0 9 0 9 驗證有1 3位小數的正實數 0 9 0 9 驗證非零的正整數 1 9 0 9 驗證非零的負整數 1 9 0 9...
JavaScript常用的正則匹配
常用的正則規則 eslint disable next line export const regexpconfig 0 d 1 0 2 0 1 2 d 3 0 1 d 1 9 d 1 9 d 0 d 1 0 2 0 1 2 d 3 0 1 d 0 9 x 身份證 mobile 1 3 4 5 7 ...
複習系列 javascript陣列的常用方法總結
反向陣列array.reverse var unorderednumber 4,8,9,6,7,10,52,69,74,52,33,1,65,97,5 unorderednumber.reverse 排序陣列array.sort 由於陣列排序是將陣列元素直接轉換成字串比較 將每個陣列元素呼叫tost...