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 οnlοad="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,等于第三次又重新匹配。
转载于:https://blog.51cto.com/chcchb/1329939