test 方法
返回一個 Boolean 值,它指出在被查找的字符串中是否匹配給出的正則表達式。
rgExp.test(str)
參數:
str 必選項。對其進行查找的 String 對象或字符串文字。
rgExp 必選項。爲包含正則表達式模式和可用標誌的正則表達式對象。
例1:
<!DOCTYPE html> <html> <head> <title>TestDemo</title> <meta charset="utf-8" /> <script type="text/javascript" language="JavaScript"> function TestDemo(re, s){ var s1; if (re.test(s)) s1 = " 匹配正則式 "; else s1 = " 不匹配正則式 "; return("'" + s + "'" + s1 + "'"+ re.source + "'"); } </script> </head> <body onload="document.write(TestDemo(/ab/,'cdef')); "> </body> </html>
輸出結果:
'cdef' 不匹配正則式 'ab'
注意:test()繼承正則表達式的lastIndex屬性,表達式在匹配全局標誌g的時候須注意。
例2:
<!DOCTYPE html> <html> <head> <title>TestDemo</title> <meta charset="utf-8" /> <script type="text/javascript" language="JavaScript"> function TestDemo(){ var r, re; // 聲明變量。 var s = "I"; re = /I/ig; // 創建正則表達式模式。 document.write(re.test(s) + "<br/>"); // 返回 Boolean 結果。 document.write(re.test(s) + "<br/>"); document.write(re.test(s)); } </script> </head> <body "> </body> </html>
輸出結果:
true false true
當第二次調用test()的時候,lastIndex指向下一次匹配所在位置1,所以第二次匹配不成功,lastIndex重新指向0,等於第三次又重新匹配。