驗(yàn)證操作類formValidatorClass.js
代碼如下:
/**
* @author ming
*/
$(document).ready(function(){
/**//* 設(shè)置默認(rèn)屬性 */
$.validator.setDefaults({
submitHandler: function(form) {
form.submit();
}
});
// 字符驗(yàn)證
jQuery.validator.addMethod("stringCheck", function(value, element) {
return this.optional(element) || /^[/u0391-/uFFE5/w]+$/.test(value);
}, "只能包括中文字、英文字母、數(shù)字和下劃線");
// 中文字兩個(gè)字節(jié)
jQuery.validator.addMethod("byteRangeLength", function(value, element, param) {
var length = value.length;
for(var i = 0; i < value.length; i++){
if(value.charCodeAt(i) > 127){
length++;
}
}
return this.optional(element) || ( length >= param[0] && length <= param[1] );
}, "請(qǐng)確保輸入的值在3-15個(gè)字節(jié)之間(一個(gè)中文字算2個(gè)字節(jié))");
// 身份證號(hào)碼驗(yàn)證
jQuery.validator.addMethod("isIdCardNo", function(value, element) {
return this.optional(element) || isIdCardNo(value);
}, "請(qǐng)正確輸入您的身份證號(hào)碼");
// 手機(jī)號(hào)碼驗(yàn)證
jQuery.validator.addMethod("isMobile", function(value, element) {
var length = value.length;
var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+/d{8})$/;
return this.optional(element) || (length == 11 && mobile.test(value));
}, "請(qǐng)正確填寫(xiě)您的手機(jī)號(hào)碼");
// 電話號(hào)碼驗(yàn)證
jQuery.validator.addMethod("isTel", function(value, element) {
var tel = /^/d{3,4}-?/d{7,9}$/; //電話號(hào)碼格式010-12345678
return this.optional(element) || (tel.test(value));
}, "請(qǐng)正確填寫(xiě)您的電話號(hào)碼");
// 聯(lián)系電話(手機(jī)/電話皆可)驗(yàn)證
jQuery.validator.addMethod("isPhone", function(value,element) {
var length = value.length;
var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+/d{8})$/;
var tel = /^/d{3,4}-?/d{7,9}$/;
return this.optional(element) || (tel.test(value) || mobile.test(value));
}, "請(qǐng)正確填寫(xiě)您的聯(lián)系電話");
// 郵政編碼驗(yàn)證
jQuery.validator.addMethod("isZipCode", function(value, element) {
var tel = /^[0-9]{6}$/;
return this.optional(element) || (tel.test(value));
}, "請(qǐng)正確填寫(xiě)您的郵政編碼");
//開(kāi)始驗(yàn)證
$('#submitForm').validate({
/**//* 設(shè)置驗(yàn)證規(guī)則 */
rules: {
username: {
required:true,
stringCheck:true,
byteRangeLength:[3,15]
},
email:{
required:true,
email:true
},
phone:{
required:true,
isPhone:true
},
address:{
required:true,
stringCheck:true,
byteRangeLength:[3,100]
}
},
/**//* 設(shè)置錯(cuò)誤信息 */
messages: {
username: {
required: "請(qǐng)?zhí)顚?xiě)用戶名",
stringCheck: "用戶名只能包括中文字、英文字母、數(shù)字和下劃線",
byteRangeLength: "用戶名必須在3-15個(gè)字符之間(一個(gè)中文字算2個(gè)字符)"
},
email:{
required: "請(qǐng)輸入一個(gè)Email地址",
email: "請(qǐng)輸入一個(gè)有效的Email地址"
},
phone:{