-1
我有一個看起來像這樣與maskedinput插件刪除文字驗證之前,並提交
(999)999-9999
我想要的jQuery驗證到所需的電話號碼字段的形式爲了驗證這一點,忽略文字。另外,我希望在提交表單之前刪除文字。但是,如果出現驗證錯誤,我仍然希望激活maskedinput插件,以便該格式對用戶仍然是正確的。
我想我可以編輯驗證的正則表達式,但是當表單提交時,文字仍然會在那裏。
讓我知道我需要更好地解釋這一點。
任何想法?我對jquery很新,所有如此詳細的解決方案都很棒。
我的JavaScript代碼是這樣的
$(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:" "});
});
你可能想要逃避'+'字符。 – 2012-08-13 07:32:52
@DavidThomas如果你想輸入一個電話號碼,那麼可以使用它 – PaperThick 2012-08-13 07:34:18
是的,但沒有被轉義,它是一個正則表達式特殊字符?或者我錯過了一些東西,它還是有點早... – 2012-08-13 07:38:02