jquery validate 自定义函数正则表达式验证

1.什么是validate 自定义函数

addMethod(name,method,message)方法

参数 name 是添加的方法的名字。

参数 method 是一个函数,接收三个参数 (value,element,param) 。
value 是元素的值,element 是元素本身,param 是参数。

我们可以用 addMethod 来添加除内置的 Validation 方法之外的验证方法。比如有一个字段,只能输一个字母,范围是 a-f,写法如下:

$.validator.addMethod("af",function(value,element,params){  
    if(value.length>1){
        return false;
    }
    if(value>=params[0] && value<=params[1]){
        return true;
    }else{
        return false;
    }
},"必须是一个字母,且a-f");

如果有个表单字段的 name="username",则在 rules 中写:
username:{
   af:["a","f"]
}

addMethod 的第一个参数,是添加的验证方法的名字,这时是 af。
addMethod 的第三个参数,是自定义的错误提示,这里的提示为:"必须是一个字母,且a-f"。
addMethod 的第二个参数,是一个函数,这个比较重要,决定了用这个验证方法时的写法。

如果只有一个参数,直接写,比如 af:"a",那么 a 就是这个唯一的参数,如果多个参数,则写在 [] 里,用逗号分开。

结果为false才返回提示信息

2.正则表达式验证

a.正向验证

$.validator.addMethod("chrnum", function(value, element) {
        var chrnum = /^([a-zA-Z0-9]+)$/;
        return this.optional(element) || (chrnum.test(value));
        }, "只能输入数字和字母(字符A-Z, a-z, 0-9)");
       $("#form1").validate({
            rules: {
                'name': {
                    required: true
                },
                'custom_no' : "chrnum",
            
            }
       });

b.反向验证

$.validator.addMethod("chrnum", function(value, element) {
        if(!value.length){
              return false;
        }
        var chrnum = /^([^@#\$%\^&\*]+)$/;
        return  chrnum.test(value);
        }, "商品名称不能为空而且不能包含非法字符");
$("#form1").validate({
        rules: {
           'name' : "chrnum",
        }
});



版权声明:本文为z15818264727原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。