JavaScript RegExp.test() 方法


定義和用法:

test() 方法用於檢測一個字符串是否匹配某個模式.

語法:

RegExpObject.test(string);

RegExpObject:正則表達式;

string:必須參數,要檢測的字符串;

返回值:

如果字符串:string 含有與正則表達式:RegExpObject 匹配的文本,則返回true,否則返回false;

說明:

調用 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
代碼01

 

 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
代碼02

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM