A-A+
js 正则表达式test()函数用法
我们在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
- }//xiariboke.net
- 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>