[原创]jQuery Validation范例
上班无事,学习jQuery Validation,于是手写一公共范例,并收藏以便后用
验证操作类formValidatorClass.js
  1
/**  
2
 * @author ming  
3
 */  
4
$(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
});
/**  2
 * @author ming  3
 */  4
$(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
});
测试页index.html
 1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"   
2
"http://www.w3.org/TR/html4/loose.dtd">  
3
<html xmlns="http://www.w3.org/1999/xhtml">  
4
    <head>  
5
        <meta http-equiv="Content-Type" content="text/html; charset=gbk" />  
6
        <title>jQuery验证</title>  
7
        <script src="lib/jquery/jquery-1.3.2.min.js" ></script>  
8
        <script type="text/javascript" src="lib/jquery/jquery.validate.js" mce_src="lib/jquery/jquery.validate.js"></script>  
9
        <script type="text/javascript" src="lib/jquery/messages_cn.js"></script>  
10
        <script type="text/javascript" src="lib/jquery/formValidatorClass.js"></script>  
11
        <style type="text/css">
12
13
        * {    
14
            font-family: Verdana;    
15
            font-size: 96%;    
16
        }   
17
        label {    
18
            width: 10em;    
19
            float: left;    
20
        }   
21
        label.error {    
22
            float: none;    
23
            color: red;    
24
            padding-left: .5em;    
25
            vertical-align: top;    
26
        }   
27
        p {    
28
            clear: both;    
29
        }   
30
        .submit {    
31
            margin-left: 12em;    
32
        }   
33
        em {    
34
            font-weight: bold;    
35
            padding-right: 1em;    
36
            vertical-align: top;    
37
        }   
38
           
39
</style>
40
    </head>  
41
    <body>  
42
        <form class="submitForm" id="submitForm" method="get" action="">  
43
         <fieldset>  
44
           <legend>表单验证</legend>  
45
           <p>  
46
             <label for="username">用户名</label>  
47
             <em>*</em><input id="userName" name="username" size="25" />  
48
           </p>  
49
           <p>  
50
             <label for="email">E-Mail</label>  
51
             <em>*</em><input id="email" name="email" size="25" />  
52
           </p>  
53
           <p>  
54
             <label for="phone">联系电话</label>  
55
             <em>*</em><input id="phone" name="phone" size="25" value="" />  
56
           </p>  
57
           <p>  
58
             <label for="address">地址</label>  
59
             <em>*</em><input id="address" name="address" size="22">  
60
           </p>  
61
             <input class="submit" type="submit" value="提交"/>  
62
           </p>  
63
          </fieldset>  
64
         </form>  
65
    </body>  
66
</html>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"   2
"http://www.w3.org/TR/html4/loose.dtd">  3
<html xmlns="http://www.w3.org/1999/xhtml">  4
    <head>  5
        <meta http-equiv="Content-Type" content="text/html; charset=gbk" />  6
        <title>jQuery验证</title>  7
        <script src="lib/jquery/jquery-1.3.2.min.js" ></script>  8
        <script type="text/javascript" src="lib/jquery/jquery.validate.js" mce_src="lib/jquery/jquery.validate.js"></script>  9
        <script type="text/javascript" src="lib/jquery/messages_cn.js"></script>  10
        <script type="text/javascript" src="lib/jquery/formValidatorClass.js"></script>  11
        <style type="text/css">12

13
        * {    14
            font-family: Verdana;    15
            font-size: 96%;    16
        }   17
        label {    18
            width: 10em;    19
            float: left;    20
        }   21
        label.error {    22
            float: none;    23
            color: red;    24
            padding-left: .5em;    25
            vertical-align: top;    26
        }   27
        p {    28
            clear: both;    29
        }   30
        .submit {    31
            margin-left: 12em;    32
        }   33
        em {    34
            font-weight: bold;    35
            padding-right: 1em;    36
            vertical-align: top;    37
        }   38
           39
</style>40
    </head>  41
    <body>  42
        <form class="submitForm" id="submitForm" method="get" action="">  43
         <fieldset>  44
           <legend>表单验证</legend>  45
           <p>  46
             <label for="username">用户名</label>  47
             <em>*</em><input id="userName" name="username" size="25" />  48
           </p>  49
           <p>  50
             <label for="email">E-Mail</label>  51
             <em>*</em><input id="email" name="email" size="25" />  52
           </p>  53
           <p>  54
             <label for="phone">联系电话</label>  55
             <em>*</em><input id="phone" name="phone" size="25" value="" />  56
           </p>  57
           <p>  58
             <label for="address">地址</label>  59
             <em>*</em><input id="address" name="address" size="22">  60
           </p>  61
             <input class="submit" type="submit" value="提交"/>  62
           </p>  63
          </fieldset>  64
         </form>  65
    </body>  66
</html>
                    
                



                
            
        
浙公网安备 33010602011771号