JavaScript-RegExp对象只能使用一次问题解决方法

时间:2021-05-26

以下的代码,是测试从字符串中识别出年月日,可以看到创建的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一个。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章