jquery validate addMethod
2013-10-22 11:09 求知与求职 阅读(321) 评论(0) 收藏 举报$(document).ready(function () {
5
6
/* 设置默认属性 */
7
$.validator.setDefaults( {
8
submitHandler: function (form) {
9
form.submit();
10
}
11
} );
12
13
// 字符验证
14
jQuery.validator.addMethod( " stringCheck " , function (value, element) {
15
return this .optional(element) || / ^[\u0391-\uFFE5\w]+$ / .test(value);
16
} , " 只能包括中文字、英文字母、数字和下划线 " );
17
18
// 中文字两个字节
19
jQuery.validator.addMethod( " byteRangeLength " , function (value, element, param) {
20
var length = value.length;
21
for ( var i = 0 ; i < value.length; i ++ ) {
22
if (value.charCodeAt(i) > 127 ) {
23
length ++ ;
24
}
25
}
26
return this .optional(element) || ( length >= param[ 0 ] && length <= param[ 1 ] );
27
} , " 请确保输入的值在3-15个字节之间(一个中文字算2个字节) " );
28
29
// 身份证号码验证
30
jQuery.validator.addMethod( " isIdCardNo " , function (value, element) {
31
return this .optional(element) || isIdCardNo(value);
32
} , " 请正确输入您的身份证号码 " );
33
34
// 手机号码验证
35
jQuery.validator.addMethod( " isMobile " , function (value, element) {
36
var length = value.length;
37
var mobile = / ^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$ / ;
38
return this .optional(element) || (length == 11 && mobile.test(value));
39
} , " 请正确填写您的手机号码 " );
40
41
// 电话号码验证
42
jQuery.validator.addMethod( " isTel " , function (value, element) {
43
var tel = / ^\d{3,4}-?\d{7,9}$ / ; // 电话号码格式010-12345678
44
return this .optional(element) || (tel.test(value));
45
} , " 请正确填写您的电话号码 " );
46
47
// 联系电话(手机/电话皆可)验证
48
jQuery.validator.addMethod( " isPhone " , function (value,element) {
49
var length = value.length;
50
var mobile = / ^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$ / ;
51
var tel = / ^\d{3,4}-?\d{7,9}$ / ;
52
return this .optional(element) || (tel.test(value) || mobile.test(value));
53
54
} , " 请正确填写您的联系电话 " );
55
56
// 邮政编码验证
57
jQuery.validator.addMethod( " isZipCode " , function (value, element) {
58
var tel = / ^[0-9]{6}$ / ;
59
return this .optional(element) || (tel.test(value));
60
} , " 请正确填写您的邮政编码 " );
61
62
// 开始验证
63
$( ' #submitForm ' ).validate( {
64
/* 设置验证规则 */
65
rules: {
66
username: {
67
required: true ,
68
stringCheck: true ,
69
byteRangeLength:[ 3 , 15 ]
70
} ,
71
email: {
72
required: true ,
73
email: true
74
} ,
75
phone: {
76
required: true ,
77
isPhone: true
78
} ,
79
address: {
80
required: true ,
81
stringCheck: true ,
82
byteRangeLength:[ 3 , 100 ]
83
}
84
} ,
85
86
/* 设置错误信息 */
87
messages: {
88
username: {
89
required: " 请填写用户名 " ,
90
stringCheck: " 用户名只能包括中文字、英文字母、数字和下划线 " ,
91
byteRangeLength: " 用户名必须在3-15个字符之间(一个中文字算2个字符) "
92
} ,
93
email: {
94
required: " 请输入一个Email地址 " ,
95
email: " 请输入一个有效的Email地址 "
96
} ,
97
phone: {
98
required: " 请输入您的联系电话 " ,
99
isPhone: " 请输入一个有效的联系电话 "
100
} ,
101
address: {
102
required: " 请输入您的联系地址 " ,
103
stringCheck: " 请正确输入您的联系地址 " ,
104
byteRangeLength: " 请详实您的联系地址以便于我们联系您 "
105
}
106
} ,
107
108
/* 设置验证触发事件 */
109
focusInvalid: false ,
110
onkeyup: false ,
111
112
/* 设置错误信息提示DOM */
113
errorPlacement: function (error, element) {
114
error.appendTo( element.parent());
115
} ,
116
117
} );
118
119
} );
浙公网安备 33010602011771号