定义和用法
test() 方法用于检测一个字符串是否匹配某个模式.
语法
RegExpObject.test(string)
返回值
如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false。
说明
调用 RegExp 对象 r 的 test() 方法,并为它传递字符串 s,与这个表示式是等价的:(r.exec(s) != null)。
例1:
- <script type="text/javascript">
- var reg1=
- var num1=1;
- alert(reg1.test(num1));
- alert(reg1.test(num1));
-
-
- var reg2=
- var num2=12;
- alert(reg2.test(num2));
- alert(reg2.test(num2));
- </script>
-
- 输出结果:true false true true
注意:正则表达式中的test()、exec()方法对当前匹配位置有“记忆”。如果每次需要从头开始进行匹配需要用compile()重新编译正则表达式。
实例问题:
- <script type="text/javascript">
-
-
- function show(){
-
- var number=parseInt(window.prompt("",""));
- var reg=
- var f1=reg.test(number);
-
- alert(f1);
- }
-
- </script>
- <body >
- <input id="pid" οnclick="show()" />
- </body>
ie6.0下输出结果:第1次输入1提示true,反复输入测试均为true。
firefox下输出结果:第1次输入1提示true,第2次输入的时候则为false。
这时候就需要每次对正则表达式重新编译或者重新改变匹配位置。
解决方案1:
- <script type="text/javascript">
-
-
- function show(){
-
- var number=parseInt(window.prompt("",""));
- var reg=
- reg.compile(
- var f1=reg.test(number);
-
- alert(f1);
- }
-
- </script>
- <body >
- <input id="pid" οnclick="show()" />
- </body>
ie/firefox下输出正常:反复输入测试均为true。
解决方案2:
通过修改lastIndex
- <mce:script type="text/javascript">
-
-
- function show(){
-
- var number=parseInt(window.prompt("",""));
- var reg=
- reg.lastIndex=0;
- var f1=reg.test(number);
-
- alert(f1);
- }
-
- </script>
- <body >
- <input id="pid" οnclick="show()" />
- </body>
ie/firefox下输出正常:反复输入测试均为true。