Javascript中的解决方案,误用了由g引起的常规测试()
input1 = '0281234567;2 = '0282345678 ';var reg = / ^ D + $ /克;
reg.test(input1); / /真的
reg.test(2); / /假
当发现第二次测试时,返回的值是错误的。排除了诸如写错误、值失败等各种干扰因素后,发现只有在执行二次规则时,才能正确地执行。
这个问题实际上是由 / G引起的,但这次发现其实这规则我滥用 / /:因为G表示全局匹配,所以这是一个记录的最后一个匹配位置的定期内部lastIndex。当重复调用,lastIndex将继续比赛,这会导致判断错误。理解原理很清楚地解决它:
1。删除 G,不要随意添加徽标,而不需要
2。在第二比赛的lastIndex手动0,与上面的例子:reg.lastindex()= 0。
以上是常规测试解决方案()不能在Javascript中正确执行,这是由 /克在Xiaobian误导。希望能对你有所帮助。如果你有任何问题,请给我留言,萧边会及时给您回复。谢谢您支持网站。