您的位置:首页 > Web前端 > JQuery

jquery validate用法

2014-11-04 10:01 169 查看
验证操作类formValidatorClass.js

1/**//**  

* @author ming  

*/  

  4$(document).ready(function(){       

        

  6/**//* 设置默认属性 */       

  7$.validator.setDefaults({       

   submitHandler: function(form) {    

       form.submit();    

   }       

 11});   

 

 13// 字符验证       

 14jQuery.validator.addMethod("stringCheck", function(value, element) {       

   return this.optional(element) || /^[\u0391-\uFFE5\w]+$/.test(value);       

 16}, "只能包括中文字、英文字母、数字和下划线");   

 

 18// 中文字两个字节       

 19jQuery.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] );       

 27}, "请确保输入的值在3-15个字节之间(一个中文字算2个字节)");   

 

 29// 身份证号码验证       

 30jQuery.validator.addMethod("isIdCardNo", function(value, element) {       

   return this.optional(element) || isIdCardNo(value);       

 32}, "请正确输入您的身份证号码");    

    

 34// 手机号码验证       

 35jQuery.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));       

 39}, "请正确填写您的手机号码");       

    

 41// 电话号码验证       

 42jQuery.validator.addMethod("isTel", function(value, element) {       

   var tel = /^\d{3,4}-?\d{7,9}$/;    //电话号码格式010-12345678   

   return this.optional(element) || (tel.test(value));       

 45}, "请正确填写您的电话号码");   

 

 47// 联系电话(手机/电话皆可)验证   

 48jQuery.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));   

 

 54}, "请正确填写您的联系电话");   

    

 56// 邮政编码验证       

 57jQuery.validator.addMethod("isZipCode", function(value, element) {       

   var tel = /^[0-9]{6}$/;       

   return this.optional(element) || (tel.test(value));       

 60}, "请正确填写您的邮政编码");    

 

 62//开始验证   

 63$('#submitForm').validate({   

   /**//* 设置验证规则 */  

   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]   

       }   

   },   

      

   /**//* 设置错误信息 */  

   messages: {   

       username: {       

           required: "请填写用户名",   

           stringCheck: "用户名只能包括中文字、英文字母、数字和下划线",   

           byteRangeLength: "用户名必须在3-15个字符之间(一个中文字算2个字符)"       

       },   

       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());       

   },     

      

117});   

 

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">  

   <head>  

       <meta http-equiv="Content-Type" content="text/html; charset=gbk" />  

       <title>jQuery验证</title>  

       <script src="lib/jquery/jquery-1.3.2.min.js" ></script>  

       <script type="text/javascript" src="lib/jquery/jquery.validate.js" mce_src="lib/jquery/jquery.validate.js"></script>  

       <script type="text/javascript" src="lib/jquery/messages_cn.js"></script>  

       <script type="text/javascript" src="lib/jquery/formValidatorClass.js"></script>  

       <style type="text/css">

       * {}{    

           font-family: Verdana;    

           font-size: 96%;    

       }   

       label {}{    

           width: 10em;    

           float: left;    

       }   

       label.error {}{    

           float: none;    

           color: red;    

           padding-left: .5em;    

           vertical-align: top;    

       }   

       p {}{    

           clear: both;    

       }   

       .submit {}{    

           margin-left: 12em;    

       }   

       em {}{    

           font-weight: bold;    

           padding-right: 1em;    

           vertical-align: top;    

       }   

          

39</style>

   </head>  

   <body>  

       <form class="submitForm" id="submitForm" method="get" action="">  

        <fieldset>  

          <legend>表单验证</legend>  

          <p>  

            <label for="username">用户名</label>  

            <em>*</em><input id="userName" name="username" size="25" />  

          </p>  

          <p>  

            <label for="email">E-Mail</label>  

            <em>*</em><input id="email" name="email" size="25" />  

          </p>  

          <p>  

            <label for="phone">联系电话</label>  

            <em>*</em><input id="phone" name="phone" size="25" value="" />  

          </p>  

          <p>  

            <label for="address">地址</label>  

            <em>*</em><input id="address" name="address" size="22">  

          </p>  

            <input class="submit" type="submit" value="提交"/>  

          </p>  

         </fieldset>  

        </form>  

   </body>  

66</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息