js 正規表示式 test 方法的使用

2021-10-05 02:25:22 字數 1790 閱讀 7042

test() 方法是正規表示式的乙個方法,用於檢測乙個字串是否匹配某個模式.

test 方法檢查字串是否與給出的正規表示式模式相匹配,如果是則返回 true,否則就返回 false。

每個正規表示式都有乙個 lastindex 屬性,用於記錄上一次匹配結束的位置.

語法:regexp.test(str)

在全域性匹配模式下

let reg =/^

[\d]

$/g;

let str =

"12"

; console.

log(reg.

test

(str));

//返回true

let =

"123"

;

console.log(reg.test(str));     //從數字3開始匹配,只有乙個數字,故返回false
重置lastindex為0

let reg =/^

[\d]

$/g;

let str =

"12"

; console.

log(reg.

test

(str));

//返回true

let =

"123"

; reg.lastindex =0;

console.

log(reg.

test

(str));

//返回true

在非全域性匹配模式下,則不存在這個問題

let reg =/^

[\d]$/;

let str =

"12"

; console.

log(reg.

test

(str));

//返回true

let =

"123"

; console.

log(reg.

test

(str));

//返回true

另外,test()方法和陣列的foreach()方法一起使用可能達不到預期結果,在for迴圈下,同樣如此,如下

let line =

'1a 123 123 12'

; let lines = line.

split

(' ');

let reg =/^

[\d]

+$/g;

let res =0;

lines.

foreach

(function

(element, index)

);

使用foreach方法對陣列中字串進行test測試,會出現flase true 交替出現的現象,先出現false還是true則取決陣列第乙個元素匹配的結果。

同樣的,在非全域性匹配模式下,則不存在這個問題,這裡去掉全域性匹配g才可得到預期結果

let line =

'1a 123 123 12'

let lines = line.

split

(' ');

let reg =/^

[\d]

+$/;

let res =0;

lines.

foreach

(function

(element, index)

);

正規表示式的test方法應用

一 test介紹 返回乙個boolean值,指出在被查詢的字串中是否存在模式。語法 rgexp.test str rgexp 必選項。包含正規表示式模式或可用標誌的正規表示式物件。str 必選項。要在其上測試查詢的字串。說明 test方法檢查在字串中是否存在乙個模式,如果存在則返回true,否則就返...

正規表示式的test方法應用

一 test介紹 返回乙個boolean值,指出在被查詢的字串中是否存在模式。語法 rgexp.test str rgexp 必選項。包含正規表示式模式或可用標誌的正規表示式物件。str 必選項。要在其上測試查詢的字串。說明 test方法檢查在字串中是否存在乙個模式,如果存在則返回true,否則就返...

JS正規表示式方法

使用正規表示式的主要有match,exec,test 1 正規表示式方法test測試給定的字串是否滿足正規表示式,返回值是bool型別的,只有真和假。var user code input name vuser code val var code a za z0 9 if code.test use...