JavaScript-RegExp对象只能使用一次问题解决方法
以下的代码,是测试从字符串中识别出年月日,可以看到创建的rYMD这个RegExp对象执行了一次后,又执行了一次。
varDateStr="2014-9-8"; varrYMD=newRegExp("(\\d{4}|\\d{2})-(\\d{2}|\\d{1})-(\\d{2}|\\d{1})","g"); varaRt=rYMD.exec(DateStr); varsRt=rYMD.exec(DateStr);
经过调试,发现第一次执行,aRt得到了返回的Array(数组),但是紧跟其后的sRt却是null
经过反复尝试,发现是因为RegExp对象执行了一次后就废掉了。
所以,需要注意了,每次用RegExp都需要重新new一个。