定義和用法:javascript
test() 方法用於檢測一個字符串是否匹配某個模式.java
語法:正則表達式
RegExpObject.test(string);ide
RegExpObject:正則表達式;spa
string:必須參數,要檢測的字符串;code
返回值:對象
若是字符串:string 含有與正則表達式:RegExpObject 匹配的文本,則返回true,不然返回false;blog
說明:ip
調用 RegExp 對象 r 的 test() 方法,併爲它傳遞字符串 s,與這個表示式是等價的:(r.exec(s) != null)。字符串
用法拓展:
1 //在下面的例子中,咱們將檢索 "W3School": 2 3 <script type="text/javascript"> 4 var str = "Visit W3School"; 5 var patt1 = new RegExp("W3School"); 6 var result = patt1.test(str); 7 document.write("Result: " + result); 8 </script> 9 10 輸出: 11 12 Result: true
1 //每一個正則表達式都有一個 lastIndex 屬性,用於記錄上一次匹配結束的位置,包括exec方法。 2 3 var re = /^[1-9]\d{4,10}$/gi; 4 var str = "123456"; 5 alert(re.test(str)); //返回true 6 str = "1234567"; 7 alert(re.test(str)); //返回false 8 9 //解決方法: 10 11 var re = /^[1-9]\d{4,10}$/gi; 12 var str = "123456"; 13 alert(re.test(str)); //返回true 14 15 // 執行上面的 test 以後,咱們能夠彈出 16 alert(re.lastIndex); // 彈出6 17 //即表示上一次在第6個字符以後結束 18 //那麼下一次再調用 test 的時候, 就會從第6個字符以後繼續搜索 19 20 //解決辦法,將正則表達式的 lastIndex 屬性設置爲0 21 22 //具體代碼以下: 23 <script type="text/javascript"> 24 var re = /^[1-9]\d{4,10}$/gi; 25 var str = "123456"; 26 alert(re.test(str)); //返回true 27 str = "1234567"; 28 re.lastIndex=0; 29 alert(re.test(str)); //返回true 30 </script> 31 32 //或: 33 34 //正則模式去掉全局模式, 把g去掉就好了,g就是繼續往下的意思,不是必要別加g,改爲:var re = /^[1-9]\d{4,10}$/i; 35 var str = "123456"; 36 alert(re.test(str)); //返回true 37 str = "1234567"; 38 alert(re.test(str)); //返回true