나는 maskedinput 플러그인확인 삭제하기 전에 입력 값에서 리터럴 제출은
(999) 999-9999
난에 JQuery와 유효성 검사를 원하는과 같이 보입니다 필요한 전화 번호 필드와 양식을 가지고 이를 검증하기 위해 리터럴을 무시하십시오. 또한 양식을 제출하기 전에 리터럴을 제거하고 싶습니다. 하지만 유효성 검사 오류가있는 경우 여전히 maskedinput 플러그인을 활성화하여 형식이 사용자에게 올바르게 표시되도록해야합니다.
나는 유효성 검사를 위해 정규식을 편집 할 수 있지만 양식이 제출되면 리터럴이 여전히있을 것입니다.
내가 더 잘 설명해야한다는 것을 알려주세요.
어떤 아이디어? 나는 jquery에 매우 익숙하다. 그래서 모든 상세한 솔루션은 훌륭 할 것이다.
내 자바 스크립트 코드는이
$(document).ready(function(){
jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
phone_number = phone_number.replace(/\s+/g, "");
return this.optional(element) || phone_number.length > 9 &&
phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
}, "US Phone Number Required");
$("#valform").validate({
invalidHandler: function(form, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
$("#error-message").show().text("Please correct the required field(s)");
} else {
$("#error-message").hide();
}
},
messages: {
phone: {
required: ""
}
},
rules: {
phone: {
required: true,
phoneUS: true
},
},
});
$("#phone").mask("(999) 999-9999",{placeholder:" "});
});
'+'문자를 이스케이프하고 싶을 수도 있습니다. –
@DavidThomas 전화 번호를 입력하고 싶지 않다면 사용할 수 있습니다 – PaperThick
예, 이스케이프되지 않고 정규 표현식 특수 문자입니까? 아니면 뭔가 빠졌는데, 아직 조금 일찍 ... –