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 相关文章推荐
JavaScript的Function详细
Nov 14 Javascript
jQuery 借助插件Lavalamp实现导航条动态美化效果
Sep 27 Javascript
JS简单的图片放大缩小的两种方法
Nov 11 Javascript
JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
Aug 16 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
Oct 30 Javascript
javascript函数声明和函数表达式区别分析
Dec 02 Javascript
js实现动画特效的文字链接鼠标悬停提示的方法
Mar 02 Javascript
Angularjs 滚动加载更多数据
Mar 17 Javascript
js中利用cookie实现记住密码功能
Aug 20 Javascript
详解JavaScript模块化开发
Dec 04 Javascript
使用vue实现点击按钮滑出面板的实现代码
Jan 10 Javascript
JS实现线性表的顺序表示方法示例【经典数据结构】
Apr 11 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 skymvc 一款轻量、简单的php
2011/06/28 PHP
细谈php中SQL注入攻击与XSS攻击
2012/06/10 PHP
解析php入库和出库
2013/06/25 PHP
PHP利用超级全局变量$_GET来接收表单数据的实例
2016/11/05 PHP
Lumen timezone 时区设置方法(慢了8个小时)
2018/01/20 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
jQuery Ajax文件上传(php)
2009/06/16 Javascript
基于jquery实现的服务器验证控件的启用和禁用代码
2010/04/27 Javascript
页面定时刷新(1秒刷新一次)
2013/11/22 Javascript
完美实现仿QQ空间评论回复特效
2015/05/06 Javascript
javascript基于prototype实现类似OOP继承的方法
2015/12/16 Javascript
深入理解JS函数的参数(arguments)的使用
2016/05/28 Javascript
jquery ezUI 双击行记录弹窗查看明细的实现方法
2016/06/01 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
2017/02/12 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
vue通过cookie获取用户登录信息的思路详解
2018/10/30 Javascript
vue实现商城秒杀倒计时功能
2019/12/12 Javascript
CKEditor扩展插件:自动排版功能autoformat插件实现方法详解
2020/02/06 Javascript
JavaScript 引用类型实例详解【数组、对象、严格模式等】
2020/05/13 Javascript
vue使用keep-alive实现组件切换时保存原组件数据方法
2020/10/30 Javascript
Centos Python2 升级到Python3的简单实现
2016/06/21 Python
python实现QQ空间自动点赞功能
2019/04/09 Python
pyinstaller参数介绍以及总结详解
2019/07/12 Python
CSS3的resize属性使用初探
2015/09/27 HTML / CSS
香港交友网站:be2香港
2018/07/22 全球购物
英国领先的体验日提供商:Buyagift
2019/04/19 全球购物
枚举与#define宏的区别
2014/04/30 面试题
利用异或运算实现两个无符号数的加法运算
2013/12/20 面试题
一套比较完整的软件测试人员面试题
2012/05/13 面试题
文案策划求职信
2014/04/14 职场文书
励志演讲稿范文
2014/04/29 职场文书
银行先进个人事迹材料
2014/05/11 职场文书
2014初中数学教研组工作总结
2014/12/19 职场文书
Redis高级数据类型Hyperloglog、Bitmap的使用
2021/05/24 Redis
世界十大狙击步枪排行榜
2022/03/20 杂记
Java 数组的使用
2022/05/11 Java/Android