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 相关文章推荐
告诉大家什么是JSON
Jun 10 Javascript
js键盘上下左右键怎么触发function(实例讲解)
Dec 14 Javascript
JavaScript对IE操作的经典代码(推荐)
Mar 10 Javascript
js冒泡、捕获事件及阻止冒泡方法详细总结
May 08 Javascript
js仿土豆网带缩略图的焦点图片切换效果实现方法
Feb 23 Javascript
jQuery选择器中的特殊符号处理方法
Sep 08 jQuery
vue 本地环境跨域请求proxyTable的方法
Sep 19 Javascript
Vue.js样式动态绑定实现小结
Jan 24 Javascript
稍微学一下Vue的数据响应式(Vue2及Vue3区别)
Nov 21 Javascript
纯 JS 实现放大缩小拖拽功能(完整代码)
Nov 25 Javascript
ES6中的Javascript解构的实现
Oct 30 Javascript
JavaScript中clientWidth,offsetWidth,scrollWidth的区别
Jan 25 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
一个程序下载的管理程序(二)
2006/10/09 PHP
PHP简单操作MongoDB的方法(安装及增删改查)
2016/05/26 PHP
js动态添加事件并可传参数示例代码
2013/10/21 Javascript
juery框架写的弹窗效果适合新手
2013/11/27 Javascript
jquery实现的下拉和收缩效果示例
2014/08/21 Javascript
Javascript保存网页为图片借助于html2canvas库实现
2014/09/05 Javascript
纯js实现重发验证码按钮倒数功能
2015/04/21 Javascript
深入浅出分析javaScript中this用法
2015/05/09 Javascript
JS实现的不规则TAB选项卡效果代码
2015/09/18 Javascript
跟我学习javascript的隐式强制转换
2015/11/16 Javascript
Bootstrap每天必学之js插件
2015/11/30 Javascript
一个用jquery写的判断div滚动条到底部的方法【推荐】
2016/04/29 Javascript
Js 获取当前函数参数对象的实现代码
2016/06/20 Javascript
AngularJS中的包含详细介绍及实现示例
2016/07/28 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
2016/10/18 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
2016/10/31 Javascript
JS作用域深度解析
2016/12/29 Javascript
vue实现页面加载动画效果
2017/09/19 Javascript
基于vue实现分页效果
2017/11/06 Javascript
微信小程序实现长按删除图片的示例
2018/05/18 Javascript
详解微信小程序input标签正则初体验
2018/08/18 Javascript
vue element 生成无线级左侧菜单的实现代码
2019/08/21 Javascript
Python列表list数组array用法实例解析
2014/10/28 Python
python实现八大排序算法(2)
2017/09/14 Python
Python实现霍夫圆和椭圆变换代码详解
2018/01/12 Python
Python爬虫之pandas基本安装与使用方法示例
2018/08/08 Python
Python http接口自动化测试框架实现方法示例
2018/12/06 Python
python tkinter库实现气泡屏保和锁屏
2019/07/29 Python
python 发送json数据操作实例分析
2019/10/15 Python
小学体育教学反思
2014/01/31 职场文书
村庄环境整治方案
2014/05/15 职场文书
领导党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
基层领导干部“四风”问题批评与自我批评
2014/09/23 职场文书
报名委托书
2015/01/29 职场文书
2015年员工工作表现评语
2015/03/25 职场文书
跟班学习心得体会(共6篇)
2016/01/23 职场文书