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