jQuery Validation范例

原文地址:http://www.cnblogs.com/easyinsc/archive/2009/02/27/1407826.html


上班无事,学习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// 字符验证       
 14jQuery.validator.addMethod("stringCheck"function(value, element) {       
 15    return this.optional(element) || /^[\u0391-\uFFE5\w]+$/.test(value);       
 16}
"只能包括中文字、英文字母、数字和下划线");   
 17  
 18// 中文字两个字节       
 19jQuery.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// 身份证号码验证       
 30jQuery.validator.addMethod("isIdCardNo"function(value, element) {       
 31    return this.optional(element) || isIdCardNo(value);       
 32}
"请正确输入您的身份证号码");    
 33     
 34// 手机号码验证       
 35jQuery.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// 电话号码验证       
 42jQuery.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// 联系电话(手机/电话皆可)验证   
 48jQuery.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// 邮政编码验证       
 57jQuery.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 >

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值