js 正则表达式test()函数用法
来源:自学PHP网
时间:2014-09-19 14:47 作者:
阅读:次
[导读] 我们在js中执行正则表达式有很多种方法,下面我来给各位朋友详细介绍利用js test执行正则表达式吧,有需要了解的朋友可参考。...
test 方法
返回一个 Boolean 值,它指出在被查找的字符串中是否匹配给出的正则表达式。
rgexp.test(str)
参数
rgexp
必选项。包含正则表达式模式或可用标志的正则表达式对象。
str
必选项。要在其上测试查找的字符串。
说明
test 方法检查字符串是否与给出的正则表达式模式相匹配,如果是则返回 true,否则就返回 false。
每个正则表达式都有一个 lastIndex 属性,用于记录上一次匹配结束的位置
代码如下 |
复制代码 |
var re = /^[1-9]d{4,10}$/gi;
var str = "123456";
alert(re.test(str)); //返回true
|
// 执行上面的 test 之后
我们可以弹出
代码如下 |
复制代码 |
alert(re.lastIndex); // 弹出6
|
即表示上一次在第6个字符之后结束
那么下一次再调用 test 的时候, 就会从第6个字符之后继续搜索
解决办法,将正则表达式的 lastIndex 属性设置为0
具体代码如下:
代码如下 |
复制代码 |
<script type="text/javascript">
var re = /^[1-9]d{4,10}$/gi;
var str = "123456";
alert(re.test(str)); //返回true
str = "1234567";
re.lastIndex=0;
alert(re.test(str)); //返回true
</script>
|
例2
代码如下 |
复制代码 |
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));
}
testDemo();
输出结果:
true
false
true
|
JavaScript表单验证email邮箱,判断一个输入量是否为邮箱email,通过正则表达式实现。
//检查email邮箱
代码如下 |
复制代码 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>JavaScript表单验证email邮箱</TITLE>
</HEAD>
<BODY>
<script language="javascript">
function check(){
var email=document.getElementById("email").value;
var isemail=/^w+([-.]w+)*@w+([.-]w+)*.w{2,4}$/;
if (email=="") {
alert("请输入您的邮箱!");
return false;
}
if (email.length>25){
alert("长度太长");
return false
}
if (!isemail.test(email)){
alert("不是邮箱");
return false;
}
}
</script>
<FORM METHOD=POST ACTION="" onsubmit="return check()">
<INPUT TYPE="text" NAME="email"><INPUT TYPE="submit">
</FORM>
</BODY>
</HTML>
|
|