js正则表达式test()用法详解一览。返回一个Boolean值,它指出在被查找的字符串中是否匹配给出的正则表达式。
rgexp.test(str)
参数
rgexp
必选项。包含正则表达式模式或可用标志的正则表达式对象。
str
必选项。要在其上测试查找的字符串。
说明
test方法检查字符串是否与给出的正则表达式模式相匹配,如果是则返回true,否则就返回false。
每个正则表达式都有一个lastIndex属性,用于记录上一次匹配结束的位置
代码如下 复制代码
varre=/^[1-9]d{4,10}$/gi;
varstr="123456";
alert(re.test(str));//返回true
//执行上面的test之后
我们可以弹出
代码如下 复制代码
alert(re.lastIndex);//弹出6
即表示上一次在第6个字符之后结束
那么下一次再调用test的时候,就会从第6个字符之后继续搜索
解决办法,将正则表达式的lastIndex属性设置为0
具体代码如下:
代码如下 复制代码
<scripttype="text/javascript">
varre=/^[1-9]d{4,10}$/gi;
varstr="123456";
alert(re.test(str));//返回true
str="1234567";
re.lastIndex=0;
alert(re.test(str));//返回true
</script>
例2
代码如下 复制代码
functiontestDemo(){
varr,re;//声明变量。
vars="I";
re=/I/ig;//创建正则表达式模式。
document.write(re.test(s)+"<br/>");//返回Boolean结果。
document.write(re.test(s)+"<br/>");
document.write(re.test(s));
}
testDemo();
输出结果:
true
false
true
JavaScript表单验证email邮箱,判断一个输入量是否为邮箱email,通过正则表达式实现。
//检查email邮箱
代码如下 复制代码
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<HTML>
<HEAD>
<TITLE>JavaScript表单验证email邮箱</TITLE>
</HEAD>
<BODY>
<scriptlanguage="javascript">
functioncheck(){
varemail=document.getElementById("email").value;
varisemail=/^w+([-.]w+)*@w+([.-]w+)*.w{2,4}$/;
if(email==""){
alert("请输入您的邮箱!");
returnfalse;
}
if(email.length>25){
alert("长度太长");
returnfalse
}
if(!isemail.test(email)){
alert("不是邮箱");
returnfalse;
}
}
</script>
<FORMMETHOD=POSTACTION=""onsubmit="returncheck()">
<INPUTTYPE="text"NAME="email"><INPUTTYPE="submit">
</FORM>