码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript test() 方法

时间:2014-11-26 11:02:46      阅读:1909      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   ar   color   os   sp   java   strong   

定义和用法:

test() 方法用于检测一个字符串是否匹配某个模式.

语法:

RegExpObject.test(string);

RegExpObject:正则表达式;

string:必须参数,要检测的字符串;

返回值:

如果字符串:string 含有与正则表达式:RegExpObject 匹配的文本,则返回true,否则返回false;

说明:

调用 RegExp 对象 r 的 test() 方法,并为它传递字符串 s,与这个表示式是等价的:(r.exec(s) != null)。

用法拓展:

bubuko.com,布布扣
 1 //每个正则表达式都有一个 lastIndex 属性,用于记录上一次匹配结束的位置,包括exec方法。
 2 
 3 var re = /^[1-9]\d{4,10}$/gi;
 4 var str = "123456";
 5 alert(re.test(str));     //返回true
 6 str = "1234567";
 7 alert(re.test(str));     //返回false
 8 
 9 //解决方法:
10 
11 var re = /^[1-9]\d{4,10}$/gi;
12 var str = "123456";
13 alert(re.test(str));      //返回true
14 
15 // 执行上面的 test 之后,我们可以弹出
16 alert(re.lastIndex); // 弹出6
17 //即表示上一次在第6个字符之后结束
18 //那么下一次再调用 test 的时候, 就会从第6个字符之后继续搜索
19 
20 //解决办法,将正则表达式的 lastIndex 属性设置为0 
21 
22 //具体代码如下:
23 <script type="text/javascript">
24 var re = /^[1-9]\d{4,10}$/gi;
25 var str = "123456";
26 alert(re.test(str));      //返回true
27 str = "1234567";
28 re.lastIndex=0;
29 alert(re.test(str));      //返回true
30 </script>
31 
32 //或:
33 
34 //正则模式去掉全局模式, 把g去掉就行了,g就是继续往下的意思,不是必要别加g,改成:var re = /^[1-9]\d{4,10}$/i;
35 var str = "123456";
36 alert(re.test(str));      //返回true
37 str = "1234567";
38 alert(re.test(str));      //返回true
代码

 

JavaScript test() 方法

标签:style   blog   http   ar   color   os   sp   java   strong   

原文地址:http://www.cnblogs.com/baby-zhude/p/4122564.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!