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