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
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
热心技术,并兼吃喝,偶谈风月,不言国事.