jquery valida自定义验证规则

  /**
      $.validator.addMethod("chinese", function(value, element) { 
     alert(this.optional(element));
        var chinese = /^[\u4e00-\u9fa5]+$/; 
        return (chinese.test(value)) || this.optional(element); 
     }, "只能输入中文111"); //如果返回的是false,那么输出后面的提示信息。
     
     
  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]); 
    }, $.validator.format("请确保输入的值在{0}-{1}个字节之间(一个中文字算2个字节)"));//如果带有输出参数的提示信息,那么使用format函数      
      */
      //0.先导入jquery的验证JS和jquery的JS
      //1.optional(element)返回的是布尔值,这个主要检测验证框是否为空的情况,如果为空则返回false。
      //2.以 $.validator.addMethod("chinese", function(value, element)这个函数为例进行讲解:
      //  这个是自定义一个规则的函数,其中函数名不能变。
      //  chinese:验证规则名,自定义
      //  value:要检验的数值
      //  element:要检测对象是否为空
      //3.通过内部正则进行验证,返回一个boolean值,return (chinese.test(value)) || this.optional(element);如果为false
      //  则会输出后面的提示信息。
      //4.编写完规则之后,直接引入jquery的环境,$(function() { })
      /**
       $(function(){ 
     
        $("#form1").validate({  定义form的ID,到底是对那个form进行验证
        rules: {                //规则
            username:{          //对input的ID进行验证,username是input的ID
                required:true,  //非空验证,这个规则也可以自定义,也可以使用系统的。凡是上面没有通过addMethod方法添加的都属于系统的。
                chinese:true,   //自定义的规则
                byteRangeLength:[1,2]  //自定义的规则
                }
//            username:"buga"      //如果使用相同ID的input,那么以最后一个为准。
            //username:"chinese" 
            //username:"byteRangeLength"         
        },
        messages:{                自定义提示信息,如果不定义提示信息,那么以addMethod函数里面的提示信息为准,系统的规则,可以在此定义提示信息
         username:{            ,如果不定义则按照系统默认的提示信息为准。
          required:"不能为空!"
//          chinese:"一定要是中文的"
         }
        } 
        }); 
     
});
      */ 

注意:自定义验证时可以阻止表单提交的,也就是说表单验证不通过无法提交。

相关推荐