A-A+

js 正则表达式test()函数用法

2016年10月16日 前端设计 暂无评论 阅读 5 views 次

我们在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,具体代码如下:

  1. <script type="text/javascript">  
  2. var re = /^[1-9]d{4,10}$/gi;  
  3. var str = "123456";  
  4. alert(re.test(str));      //返回true  
  5. str = "1234567";  
  6. re.lastIndex=0;  
  7. alert(re.test(str));      //返回true  
  8. </script>  

例2,代码如下:

  1. function testDemo(){   
  2. var r, re; // 声明变量。   
  3. var s = "I";   
  4. re = /I/ig; // 创建正则表达式模式。   
  5. document.write(re.test(s) + "<br/>"); // 返回 Boolean 结果。   
  6. document.write(re.test(s) + "<br/>");   
  7. document.write(re.test(s));   
  8. }   
  9. testDemo();  
  10. //输出结果:  
  11. true   
  12. false   
  13. true  

JavaScript表单验证email邮箱,判断一个输入量是否为邮箱email,通过正则表达式实现,检查email邮箱,代码如下:

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
  2. <HTML>  
  3. <HEAD>  
  4. <TITLE>JavaScript表单验证email邮箱</TITLE>  
  5. </HEAD>  
  6. <BODY>  
  7. <script language="javascript">  
  8. function check(){  
  9. var email=document.getElementById("email").value;  
  10. var isemail=/^w+([-.]w+)*@w+([.-]w+)*.w{2,4}$/;  
  11. if (email=="") {  
  12.       alert("请输入您的邮箱!");  
  13.       return false;  
  14.     }  
  15. if (email.length>25){  
  16.      alert("长度太长");  
  17.      return false  
  18. }//xiariboke.net  
  19. if (!isemail.test(email)){  
  20.      alert("不是邮箱");  
  21.     return false;  
  22. }  
  23. }  
  24. </script>  
  25. <FORM METHOD=POST ACTION="" onsubmit="return check()">  
  26. <INPUT TYPE="text" NAME="email"><INPUT TYPE="submit">  
  27. </FORM>  
  28.   
  29. </BODY>  
  30. </HTML>  

给我留言