js正則函數 test使用

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,等於第三次又重新匹配。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章