2017-03-24 1 views
0

필드를 마스크하기 위해 Vanilla Masker과 jQuery를 사용하고 있습니다. 유효한 전화 번호는이 마스크 999-999-9999을 사용하여 길이 10 자 (대시 제외)입니다.바닐라 마스 커와 jQuery 키 업 문제

내가 직면 한 문제는 마지막 숫자를 문자로 입력하면 숫자 만 입력 될 수 있기 때문에 등록되지 않은 경우에도 길이가 10 인 것으로 간주된다는 것입니다 (숫자가 아닌 문자는 모두 제거됨).). 예를 들어, 888-888-888x를 입력하면 x가 제거되고 코드에 길이에 도달했다는 메시지가 표시됩니다. 여기

필드의 내용 만 자리하는 경우 jsFiddle

답변

0

체크한다. 수정 된 getPhoneLength()는 다음과 같이

function getPhoneLength() { 
    var onlyNumbers = /^\d+$/.test($("#phone").val().replace(/[_-]/g, '')); 
    if ($("#phone").val().replace(/[_-]/g, '').length == 10 && onlyNumbers) { 
     return true; 
    } 
    return false; 
} 

업데이트 jsFiddke

관련 문제