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对象与DOM对象之间的转换方法
Apr 15 Javascript
JS(JQuery)操作Array的相关方法介绍
Feb 11 Javascript
JavaScript计算两个日期时间段内日期的方法
Mar 16 Javascript
浅析JavaScript动画
Jun 10 Javascript
js实现将选中值累加到文本框的方法
Aug 12 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
Nov 01 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
Jan 03 Javascript
Vue+Vux项目实践完整代码
Nov 30 Javascript
使用Angular CLI进行Build(构建)和Serve详解
Mar 24 Javascript
详解如何运行vue项目
Apr 15 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
Feb 04 jQuery
JavaScript中this的学习笔记及用法整理
Feb 17 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实现多线程
2019/01/27 PHP
ArrayList类(增强版)
2007/04/04 Javascript
javaScript array(数组)使用字符串作为数组下标的方法
2013/11/19 Javascript
js获取客户端外网ip的简单实例
2013/11/21 Javascript
可自定义速度的js图片无缝滚动示例分享
2014/01/20 Javascript
Jquery中find与each方法用法实例
2015/02/04 Javascript
javascript中JSON对象与JSON字符串相互转换实例
2015/07/11 Javascript
jQuery模拟原生态App上拉刷新下拉加载更多页面及原理
2015/08/10 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
2016/03/24 Javascript
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
2016/07/11 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(2)
2017/02/20 Javascript
利用Jasmine对Angular进行单元测试的方法详解
2017/06/12 Javascript
详解webpack的配置文件entry与output
2017/08/21 Javascript
JavaScript实现重力下落与弹性效果的方法分析
2017/12/20 Javascript
Vue使用watch监听一个对象中的属性的实现方法
2019/05/10 Javascript
webpack优化之代码分割与公共代码提取详解
2019/11/22 Javascript
vue父子模板传值问题解决方法案例分析
2020/02/26 Javascript
[46:47]2014 DOTA2国际邀请赛中国区预选赛 DT VS HGT
2014/05/22 DOTA
python分析apache访问日志脚本分享
2015/02/26 Python
离线安装Pyecharts的步骤以及依赖包流程
2020/04/23 Python
pandas DataFrame数据转为list的方法
2018/04/11 Python
python 制作自定义包并安装到系统目录的方法
2018/10/27 Python
Python爬虫破解登陆哔哩哔哩的方法
2020/11/17 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
2020/11/26 Python
pandas针对excel处理的实现
2021/01/15 Python
解决pycharm修改代码后第一次运行不生效的问题
2021/02/06 Python
python利用xpath爬取网上数据并存储到django模型中
2021/02/26 Python
CSS3 完美实现圆角效果
2009/07/13 HTML / CSS
深入CSS3 动画效果的总结详解
2013/05/09 HTML / CSS
建筑行业的大学生自我评价
2013/12/08 职场文书
元宵节主持词
2014/03/25 职场文书
企业指导教师评语
2014/04/28 职场文书
效能风暴心得体会
2014/09/04 职场文书
2014年小学数学教师工作总结
2014/12/03 职场文书
工伤事故赔偿协议书
2015/08/06 职场文书
canvas实现贪食蛇的实践
2022/02/15 Javascript