表格字段onblur事件问题(真奇怪!)

时间:2011-02-10 15:50:46

标签: javascript events onblur

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

  • 我有一个电话号码表单字段
  • 有一个函数触发onb​​lur并验证值是否有效
  • 每次第二次我做模糊,即使值正确且值没有改变,它也会验证为false!

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

只需点击该字段,然后在其外部 - 多次!

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

1 个答案:

答案 0 :(得分: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);
};