0

我目前正在努力解决一个非常奇怪的问题。

  • 我有一个电话号码表单域
  • 有一个函数可以触发 onblur 并验证值是否有效
  • 每次我做模糊,它都会验证为假,即使值是正确的并且值没有改变!

我设置了一个小测试用例:http: //jsfiddle.net/U3jwx/2/

只需点击该字段,然后点击它之外 - 多次!

怎么可能?价值甚至没有改变!我想它与验证功能有关......

4

1 回答 1

0

在调用之间将正则表达式的 lastIndex 重置为 0。

var validatePhoneNumber = function(val) {        
        var re = /^\+([0-9]{1,3})([\-\s]{0,1})([0-9]{2,6})([\-\s]{0,1})([0-9\-\s]{0,})$/gi;
        re.lastIndex = 0;
        return re.test(val);
};
于 2011-02-10T15:55:11.697 回答