这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
这篇文章主要介绍了 JS 正则 RegExp.test() 使用注意事项, 结合实例形式分析了 RegExp.test() 方法的功能与用法, 以及针对不能重复调用的解决方法, 需要的朋友可以参考下
本文实例分析了 JS 正则 RegExp.test() 使用注意事项。分享给大家供大家参考,具体如下:
先看下面这段代码:
- // 2012-12-12 12:12:12
- var regex = /\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/g;
- // true
- alert(regex.test("2012-12-12 12:12:12"));
- // false
- alert(regex.test("2012-12-12 12:12:12"));
执行结果已经在代码注释里了,可以看到:对于同一个正则表达式对象 regex,不能重复调用:第一次返回 true,第二次就返回 false,很显然这种效果不是我们想要的。这是因为 RegExp.test() 方法,第一次从位置 0 开始查找,可以匹配;第二次的查找位置就不是 0 了,说以就不能匹配了。
解决方式挺简单:每次都让 test 从第 0 个位置开始匹配就可以了:
- // 2012-12-12 12:12:12
- var regex = /\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/g;
- // true
- alert(regex.test("2012-12-12 12:12:12"));
- regex.lastIndex = 0;
- // true
- alert(regex.test("2012-12-12 12:12:12"));
希望本文所述对大家 JavaScript 程序设计有所帮助。
来源: http://www.phperz.com/article/17/0719/329077.html