JavaScript正則常用方法

2021-09-11 20:52:45 字數 1814 閱讀 2105

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...