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 相关文章推荐
如何获取JQUERY AJAX返回的JSON结果集实现代码
Dec 10 Javascript
JavaScript中用于生成随机数的Math.random()方法
Jun 15 Javascript
理解jquery事件冒泡
Jan 03 Javascript
JavaScript表单验证实例之验证表单项是否为空
Jan 10 Javascript
详解JavaScript的内置对象
Dec 07 Javascript
利用select实现年月日三级联动的日期选择效果【推荐】
Dec 13 Javascript
Bootstrap3 模态框使用实例
Feb 22 Javascript
webpack学习--webpack经典7分钟入门教程
Jun 28 Javascript
Angular项目从新建、打包到nginx部署全过程记录
Dec 09 Javascript
jQuery实现的隔行变色功能【案例】
Feb 18 jQuery
vue.js高德地图实现热点图代码实例
Apr 18 Javascript
使用pkg打包ThinkJS项目的方法步骤
Dec 30 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 mssql 日期出现中文字符的解决方法
2009/03/10 PHP
解析thinkphp基本配置 convention.php
2013/06/18 PHP
php准确计算复活节日期的方法
2015/04/18 PHP
php微信公众号开发之校园图书馆
2018/10/20 PHP
PHP将整数数字转换为罗马数字实例分享
2019/03/17 PHP
php设计模式之适配器模式原理、用法及注意事项详解
2019/09/24 PHP
PJ Blog修改-禁止复制的代码和方法
2006/10/25 Javascript
取得传值的函数
2006/10/27 Javascript
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
2012/12/11 Javascript
javascript对象的使用和属性操作示例详解
2014/03/02 Javascript
jQuery显示和隐藏 常用的状态判断方法
2015/01/29 Javascript
第一次接触JS require.js模块化工具
2016/04/17 Javascript
Node.js Addons翻译(C/C++扩展)
2016/06/12 Javascript
js时间比较 js计算时间差的简单实现方法
2016/08/26 Javascript
Angular.Js中过滤器filter与自定义过滤器filter实例详解
2017/05/08 Javascript
vue.extend实现alert模态框弹窗组件
2018/04/28 Javascript
js实现简单商品筛选功能
2021/02/02 Javascript
python获得文件创建时间和修改时间的方法
2015/06/30 Python
微信跳一跳辅助python代码实现
2018/01/05 Python
在pycharm 中添加运行参数的操作方法
2019/01/19 Python
python requests抓取one推送文字和图片代码实例
2019/11/04 Python
温泉秘密:Onsen Secret
2020/07/06 全球购物
毕业生的自我鉴定该怎么写
2013/12/02 职场文书
酒吧总经理岗位职责
2013/12/10 职场文书
税务干部鉴定材料
2014/02/11 职场文书
电台实习生求职信
2014/02/25 职场文书
境外导游求职信
2014/02/27 职场文书
街道社区活动报告
2015/02/05 职场文书
检讨书格式
2015/05/07 职场文书
奔腾年代观后感
2015/06/09 职场文书
网吧员工管理制度
2015/08/05 职场文书
2019年员工晋升管理制度范本!
2019/07/08 职场文书
解决redis sentinel 频繁主备切换的问题
2021/04/12 Redis
详解盒子端CSS动画性能提升
2021/05/24 HTML / CSS
MySQL连接查询你真的学会了吗?
2021/06/02 MySQL