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 相关文章推荐
让iframe子窗体取父窗体地址栏参数(querystring)
Oct 13 Javascript
JavaScript栏目列表隐藏/显示简单实现
Apr 03 Javascript
事件委托与阻止冒泡阻止其父元素事件触发
Sep 02 Javascript
IE8中动态创建script标签onload无效的解决方法
Dec 22 Javascript
jQuery表单域属性过滤器用法分析
Feb 10 Javascript
JavaScript实现DIV层拖动及动态增加新层的方法
May 12 Javascript
jquery实现图片放大镜功能
Nov 23 Javascript
Bootstrap入门书籍之(三)栅格系统
Feb 17 Javascript
jQuery元素选择器实例代码
Feb 06 Javascript
JavaScript中字符串的常用操作方法及特殊字符
Mar 18 Javascript
vue 将多个过滤器封装到一个文件中的代码详解
Sep 05 Javascript
jQuery实现影院选座订座效果
Apr 13 jQuery
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
使用Xdebug调试和优化PHP程序之[1]
2007/04/17 PHP
php 处理上百万条的数据库如何提高处理查询速度
2010/02/08 PHP
PHP中Trait及其应用详解
2017/02/14 PHP
PHP 并发场景的几种解决方案
2019/06/14 PHP
基于PHP实现微信小程序客服消息功能
2019/08/12 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
2020/08/07 PHP
IE 条件注释详解总结(附实例代码)
2009/08/29 Javascript
javascript instanceof 内部机制探析
2010/10/15 Javascript
JavaScript中的noscript元素属性位置及作用介绍
2013/04/11 Javascript
php基于redis处理session的方法
2016/03/14 Javascript
js获取客户端操作系统类型的方法【测试可用】
2016/05/27 Javascript
JS在onclientclick里如何控制onclick的执行
2016/05/30 Javascript
详解Weex基于Vue2.0开发模板搭建
2017/03/20 Javascript
让div运动起来 js实现缓动效果
2017/07/06 Javascript
layui问题之模拟table表格中的选中按钮选中事件的方法
2019/09/20 Javascript
js动态生成表格(节点操作)
2021/01/12 Javascript
[03:46]DOTA2英雄基础教程 维萨吉
2013/12/11 DOTA
粗略分析Python中的内存泄漏
2015/04/23 Python
python3+PyQt5实现自定义分数滑块部件
2018/04/24 Python
Python字符串通过'+'和join函数拼接新字符串的性能测试比较
2019/03/05 Python
Python批量修改图片分辨率的实例代码
2019/07/04 Python
使用 Django Highcharts 实现数据可视化过程解析
2019/07/31 Python
基于pytorch的保存和加载模型参数的方法
2019/08/17 Python
如何基于pythonnet调用halcon脚本
2020/01/20 Python
关于Python turtle库使用时坐标的确定方法
2020/03/19 Python
快速解决jupyter启动卡死的问题
2020/04/10 Python
细说NumPy数组的四种乘法的使用
2020/12/18 Python
澳洲国民品牌乡村路折扣店:Country Road & Trenery Outlet
2018/04/19 全球购物
戴森比利时官方网站:Dyson BE
2020/10/03 全球购物
数据库专业英语
2012/11/30 面试题
商务英语专业应届毕业生求职信
2013/10/28 职场文书
技校毕业生的自我评价
2013/12/27 职场文书
师范学院毕业生求职信
2014/06/24 职场文书
幼儿园开学家长寄语(2015秋季)
2015/05/27 职场文书
纪检干部学习心得体会
2016/01/23 职场文书
MySQL数据库如何给表设置约束详解
2022/03/13 MySQL