2011-02-10 1 views
0

저는 현재 정말로 이상한 문제로 고심하고 있습니다.양식 필드 onblur 이벤트 문제 (정말 이상합니다!)

  • 나는 전화 번호 양식 필드를
  • 에 onblur 화재와 값이 유효한지 여부를 확인합니다 여부를
  • 하는 기능이있다
  • 모든 두 번째 I 흐림, 그것조차 거짓의 유효성을 검사 할 값이 정확하고 값이 변경되지 않은 경우!

난 작은 테스트 케이스 설정 한 : http://jsfiddle.net/U3jwx/2/

그냥 나중에 밖에서 필드에 클릭하고 - 여러 번!

어떻게 될 수 있습니까? 가치는 변하지 않습니다! 그것은 유효성 검사 함수와 관련이 있다고 가정합니다 ...

+0

여러 번 시도했지만 항상 true로 표시됩니다. 여기에서 Chrome을 사용합니다. – Felipe

+0

Dunno를 변경했다면 Chrome 및 FF에서 나에게 잘 작동합니다. - 그리고 IE! – Nabab

+0

흠은 Firefox만의 문제인 것 같습니다! – Alex

답변

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); 
}; 
+0

정규식이 생성되었습니다. 문제가되지 않습니다. – Felipe

+0

는 존재하지 않는 문제를 수정합니다. – meouw

+0

좋아요! 지금 expexted로 작동합니다. 그 재산을 지금까지 몰랐어. 나는 또한 정규식이 매번 다시 빌드 될 때 이것이 문제가 될 수 없다고 생각했다. 하지만 이것은 그렇듯이 아닙니다 :-) – Alex