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 相关文章推荐
DEFER怎么用?
Jul 01 Javascript
基于jquery实现一张图片点击鼠标放大再点缩小
Sep 29 Javascript
编写js扩展方法判断一个数组中是否包含某个元素
Nov 08 Javascript
gridview生成时如何去掉style属性中的border-collapse
Sep 30 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
Oct 10 Javascript
Vue 进阶教程之v-model详解
May 06 Javascript
创建简单的node服务器实例(分享)
Jun 23 Javascript
详解Vue webapp项目通过HBulider打包原生APP
Jun 29 Javascript
jQuery UI实现动画效果代码分享
Aug 19 jQuery
Canvas实现微信红包照片效果
Aug 21 Javascript
小程序获取周围IBeacon设备的方法
Oct 31 Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
Jul 15 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
仿Aspnetpager的一个PHP分页类代码 附源码下载
2012/10/08 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
2016/03/23 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
PHP中md5()函数的用法讲解
2019/03/30 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
JS 精确统计网站访问量的实例代码
2013/07/05 Javascript
js 得到文件后缀(通过正则实现)
2013/07/08 Javascript
jQuery的attr与prop使用介绍
2013/10/10 Javascript
jquery无法设置checkbox选中即没有变成选中状态
2014/03/27 Javascript
JS原型、原型链深入理解
2016/02/27 Javascript
概述jQuery中的ajax方法
2016/12/16 Javascript
详解AngularJS ng-class样式切换
2017/06/27 Javascript
Vue 2.5 Level E 发布了: 新功能特性一览
2017/10/24 Javascript
详解NODEJS基于FFMPEG视频推流测试
2017/11/17 NodeJs
微信小程序图片选择区域裁剪实现方法
2017/12/02 Javascript
微信小程序实现点击按钮修改view标签背景颜色功能示例【附demo源码下载】
2017/12/06 Javascript
JS+html5实现异步上传图片显示上传文件进度条功能示例
2019/11/09 Javascript
NodeJS实现一个聊天室功能
2019/11/25 NodeJs
Python使用tablib生成excel文件的简单实现方法
2016/03/16 Python
python实现Adapter模式实例代码
2018/02/09 Python
Python操作mongodb数据库进行模糊查询操作示例
2018/06/09 Python
分享Python切分字符串的一个不错方法
2018/12/14 Python
python sorted方法和列表使用解析
2019/11/18 Python
Python特殊属性property原理及使用方法解析
2020/10/09 Python
Django正则URL匹配实现流程解析
2020/11/13 Python
如何利用python正则表达式匹配版本信息
2020/12/09 Python
CSS3颜色值RGBA与渐变色使用介绍
2020/03/06 HTML / CSS
加拿大花店:1800Flowers.ca
2016/11/16 全球购物
超市优秀员工事迹材料
2014/05/01 职场文书
房地产资料员岗位职责
2014/07/02 职场文书
工作说明书格式
2014/07/29 职场文书
销售合作意向书范本
2015/05/08 职场文书
导游词之云南省玉龙雪山
2019/12/19 职场文书
python实现自定义日志的具体方法
2021/05/28 Python
Go中使用gjson来操作JSON数据的实现
2022/08/14 Golang
Python创建SQL数据库流程逐步讲解
2022/09/23 Python