JS正则RegExp.test()使用注意事项(不具有重复性)


Posted in Javascript onDecember 28, 2016

本文实例分析了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 相关文章推荐
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
Feb 05 Javascript
Firefox window.close()的使用注意事项
Apr 11 Javascript
js使用for循环及if语句判断多个一样的name
Sep 09 Javascript
分享12个非常实用的JavaScript小技巧
May 11 Javascript
jquery获取复选框checkbox的值的简单实现方法
May 26 Javascript
详解js的六大数据类型
Dec 27 Javascript
vue axios 二次封装的示例代码
Dec 08 Javascript
仿京东快报向上滚动的实例
Dec 13 Javascript
在vue里使用codemirror遇到的问题
Nov 01 Javascript
Async/Await替代Promise的6个理由
Jun 15 Javascript
layui文件上传控件带更改后数据传值的方法
Sep 23 Javascript
Node.JS获取GET,POST数据之queryString模块使用方法详解
Feb 06 Javascript
Bootstrap 模态框实例插件案例分析
Dec 28 #Javascript
Angular使用ng-messages与PHP进行表单数据验证
Dec 28 #Javascript
Bootstrap中datetimepicker使用小结
Dec 28 #Javascript
html5+CSS 实现禁止IOS长按复制粘贴功能
Dec 28 #Javascript
angular-ui-sortable实现可拖拽排序列表
Dec 28 #Javascript
JS正则表达式之非捕获分组用法实例分析
Dec 28 #Javascript
JavaScript实现经典排序算法之插入排序
Dec 28 #Javascript
You might like
谈谈新手如何学习PHP
2006/12/23 PHP
使用php伪造referer的方法 利用referer防止图片盗链
2014/01/20 PHP
php实现用于验证所有类型的信用卡类
2015/03/24 PHP
PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解
2019/02/15 PHP
在JavaScript中使用inline函数的问题
2007/03/08 Javascript
解决Extjs上传图片无法预览的解决方法
2012/03/22 Javascript
js实现支持手机滑动切换的轮播图片效果实例
2015/04/29 Javascript
详解JavaScript中的表单验证
2015/06/16 Javascript
Javascript实现可旋转的圆圈实例代码
2015/08/04 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
2016/01/25 Javascript
JavaScript中cookie工具函数封装的示例代码
2016/10/11 Javascript
详解webpack+angular2开发环境搭建
2017/06/28 Javascript
Vue.js实现的表格增加删除demo示例
2018/05/22 Javascript
vue模式history下在iis中配置流程
2019/04/17 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
2019/11/24 Javascript
js实现AI五子棋人机大战
2020/05/28 Javascript
Vue中this.$nextTick的作用及用法
2020/02/04 Javascript
element-ui中dialog弹窗关闭按钮失效的解决
2020/09/22 Javascript
js+h5 canvas实现图片验证码
2020/10/11 Javascript
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
2013/12/06 Python
Python实现PS滤镜的旋转模糊功能示例
2018/01/20 Python
Python实现k-means算法
2018/02/23 Python
Python unittest 简单实现参数化的方法
2018/11/30 Python
django的分页器Paginator 从django中导入类
2019/07/25 Python
Numpy与Pytorch 矩阵操作方式
2019/12/27 Python
如何基于pythonnet调用halcon脚本
2020/01/20 Python
Python调用.net动态库实现过程解析
2020/06/05 Python
中国跨境海淘网站:考拉海购
2016/08/01 全球购物
亚马逊中国官方网站:amazon.cn
2017/05/25 全球购物
Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
2012/06/05 面试题
高中军训感想800字
2014/02/23 职场文书
社区文艺活动方案
2014/08/19 职场文书
教师工作态度自我评价
2015/03/05 职场文书
爱国主义影片观后感
2015/06/18 职场文书
Python中json.load()和json.loads()有哪些区别
2021/06/07 Python
Winsows11性能如何? win11性能测评多核竟比Win10差了10%
2021/11/21 数码科技