JavaScript-RegExp对象只能使用一次问题解决方法
更新时间:2014年06月23日 15:55:20 投稿:whsnow
RegExp对象执行了一次后就废掉了,所以每次用RegExp都需要重新new一个,下面有个示例,需要的朋友可以参考下
以下的代码,是测试从字符串中识别出年月日,可以看到创建的rYMD这个RegExp对象执行了一次后,又执行了一次。
var DateStr = "2014-9-8";
var rYMD = new RegExp("(\\d{4}|\\d{2})-(\\d{2}|\\d{1})-(\\d{2}|\\d{1})", "g");
var aRt = rYMD.exec(DateStr);
var sRt=rYMD.exec(DateStr);
经过调试,发现第一次执行,aRt得到了返回的Array(数组),但是紧跟其后的sRt却是null
经过反复尝试,发现是因为RegExp对象执行了一次后就废掉了。
所以,需要注意了,每次用RegExp都需要重新new一个。
您可能感兴趣的文章:
- javascript RegExp对象(正则表达式)
- JavaScript 核心参考教程 RegExp对象
- js正则表达式之RegExp对象之compile方法 编译正则表达式
- js正则表达式之RegExp对象属性lastIndex,lastMatch,lastParen,lastContext,rightContext属性讲解
- js正则表达式之input属性($_)RegExp对象属性介绍
- js正则表达式讲解之index属性(RegExp对象)
- JavaScript学习小结(一)——JavaScript入门基础
- 每天一篇javascript学习小结(基础知识)
- 每天一篇javascript学习小结(Array数组)
- 每天一篇javascript学习小结(Boolean对象)
- 每天一篇javascript学习小结(Date对象)
- 每天一篇javascript学习小结(Function对象)
- 每天一篇javascript学习小结(RegExp对象)
相关文章
JavaScript+Node.js写一款markdown解析器
这篇文章主要介绍了利用JavaScript和Node.js写一款markdown解析器,首先编写getHtml函数,传入markdown文本字符串,下面更多详细内容,需要的小伙伴可以参考一下2022-02-02
一道优雅面试题分析js中fn()和return fn()的区别
这篇文章主要带领大家深入理解JavaScript中 fn() 和 return fn() 的区别,感兴趣的小伙伴们可以参考一下2016-07-07


最新评论