jQuery validate 擴展正則驗證
$(document).ready(function(){
/**//* 設置默認屬性 */
$.validator.setDefaults({
s mitHandler: function(form) {
form.s mit();
}
});
// 字符驗證
jQry.validator.addMethod("stringCheck", function(val, element) {
return this.optional(element) || /^[\u-\?\w]+$/.test(val);
}, "只能包括中文字、英文字母、數字和下劃線");
// 中文字兩個字節
jQry.validator.addMethod("byteRangeLength", function(val, element, param) {
var length = val.length;
for(var i = ; i < val.length; i++){
if(val.charCodeAt(i) > ){
length++;
}
}
return this.optional(element) || ( length >= param[] && length <= param[] );
}, "請確保輸入的值在-個字節之間(一箇中文字算個字節)");
// 身份證號碼驗證
jQry.validator.addMethod("isIdCardNo", function(val, element) {
return this.optional(element) || isIdCardNo(val);
}, "請正確輸入您的身份證號碼");
// 手機號碼驗證
jQry.validator.addMethod("isMobile", function(val, element) {
var length = val.length;
var mobile = /^((([-]{})|([-]{}))+\d{})$/;
return this.optional(element) || (length ==&& mobile.test(val));
}, "請正確填寫您的手機號碼");
// 電話號碼驗證
jQry.validator.addMethod("isTel", function(val, element) {
var tel = /^\d{,}-?\d{,}$/; //電話號碼格式-
return this.optional(element) || (tel.test(val));
}, "請正確填寫您的電話號碼");
// 聯繫電話(手機/電話皆可)驗證
jQry.validator.addMethod("isPhone", function(val,element) {
var length = val.length;
var mobile = /^((([-]{})|([-]{}))+\d{})$/;
var tel = /^\d{,}-?\d{,}$/;
return this.optional(element) || (tel.test(val) || mobile.test(val));
}, "請正確填寫您的聯繫電話");
// 郵政編碼驗證
jQry.validator.addMethod("isZipCode", function(val, element) {
var tel = /^[-]{}$/;
return this.optional(element) || (tel.test(val));
}, "請正確填寫您的郵政編碼");
//開始驗證
$('#s mitForm').validate({
/**//* 設置驗證規則 */
rules: {
username: {
required:tr,
stringCheck:tr,
byteRangeLength:[,]
},
email:{
required:tr,
email:tr
},
phone:{
required:tr,
isPhone:tr
},
address:{
required:tr,
stringCheck:tr,
byteRangeLength:[,]
}
},
/**//* 設置錯誤信息 */
messages: {
username: {
required: "請填寫用戶名",
stringCheck: "用戶名只能包括中文字、英文字母、數字和下劃線",
byteRangeLength: "用戶名必須在-個字符之間(一箇中文字算個字符)"
},
email:{
required: "請輸入一個Email地址",
email: "請輸入一個有效的Email地址"
},
phone:{
required: "請輸入您的聯繫電話",
isPhone: "請輸入一個有效的聯繫電話"
},
address:{
required: "請輸入您的聯繫地址",
stringCheck: "請正確輸入您的聯繫地址",
byteRangeLength: "請詳實您的聯繫地址以便於我們聯繫您"
}
},
/* 設置驗證觸發事件 */
focusInvalid: false,
onkeyup: false,
/**//* 設置錯誤信息提示DOM */
errorPlacement: function(error, element) {
error.appendTo( element.parent());
},
});
});
/**//* 設置默認屬性 */
$.validator.setDefaults({
s mitHandler: function(form) {
form.s mit();
}
});
// 字符驗證
jQry.validator.addMethod("stringCheck", function(val, element) {
return this.optional(element) || /^[\u-\?\w]+$/.test(val);
}, "只能包括中文字、英文字母、數字和下劃線");
// 中文字兩個字節
jQry.validator.addMethod("byteRangeLength", function(val, element, param) {
var length = val.length;
for(var i = ; i < val.length; i++){
if(val.charCodeAt(i) > ){
length++;
}
}
return this.optional(element) || ( length >= param[] && length <= param[] );
}, "請確保輸入的值在-個字節之間(一箇中文字算個字節)");
// 身份證號碼驗證
jQry.validator.addMethod("isIdCardNo", function(val, element) {
return this.optional(element) || isIdCardNo(val);
}, "請正確輸入您的身份證號碼");
// 手機號碼驗證
jQry.validator.addMethod("isMobile", function(val, element) {
var length = val.length;
var mobile = /^((([-]{})|([-]{}))+\d{})$/;
return this.optional(element) || (length ==&& mobile.test(val));
}, "請正確填寫您的手機號碼");
// 電話號碼驗證
jQry.validator.addMethod("isTel", function(val, element) {
var tel = /^\d{,}-?\d{,}$/; //電話號碼格式-
return this.optional(element) || (tel.test(val));
}, "請正確填寫您的電話號碼");
// 聯繫電話(手機/電話皆可)驗證
jQry.validator.addMethod("isPhone", function(val,element) {
var length = val.length;
var mobile = /^((([-]{})|([-]{}))+\d{})$/;
var tel = /^\d{,}-?\d{,}$/;
return this.optional(element) || (tel.test(val) || mobile.test(val));
}, "請正確填寫您的聯繫電話");
// 郵政編碼驗證
jQry.validator.addMethod("isZipCode", function(val, element) {
var tel = /^[-]{}$/;
return this.optional(element) || (tel.test(val));
}, "請正確填寫您的郵政編碼");
//開始驗證
$('#s mitForm').validate({
/**//* 設置驗證規則 */
rules: {
username: {
required:tr,
stringCheck:tr,
byteRangeLength:[,]
},
email:{
required:tr,
email:tr
},
phone:{
required:tr,
isPhone:tr
},
address:{
required:tr,
stringCheck:tr,
byteRangeLength:[,]
}
},
/**//* 設置錯誤信息 */
messages: {
username: {
required: "請填寫用戶名",
stringCheck: "用戶名只能包括中文字、英文字母、數字和下劃線",
byteRangeLength: "用戶名必須在-個字符之間(一箇中文字算個字符)"
},
email:{
required: "請輸入一個Email地址",
email: "請輸入一個有效的Email地址"
},
phone:{
required: "請輸入您的聯繫電話",
isPhone: "請輸入一個有效的聯繫電話"
},
address:{
required: "請輸入您的聯繫地址",
stringCheck: "請正確輸入您的聯繫地址",
byteRangeLength: "請詳實您的聯繫地址以便於我們聯繫您"
}
},
/* 設置驗證觸發事件 */
focusInvalid: false,
onkeyup: false,
/**//* 設置錯誤信息提示DOM */
errorPlacement: function(error, element) {
error.appendTo( element.parent());
},
});
});
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.