js自定义验证规则的使用

网上很多JS自定义规则只是说明了怎么定义,以及另外一种使用方式,这种方式无法满足所有场景,比如name属性是变量组合生成的,则无法通过那些资料的方法来使用验证,此处给予参考。

$("#fm").validate({
    rules:{
            loginpwd:{
                required:true,
                minlength:6,
                maxlength:12,
                regex:"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$"
            },
            loginpwd2:{
                required:true,
                equalTo: "#loginpwd",
                regex:"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$"
            }
    },
    messages:{
        loginpwd:{
          required: "请输入密码",
          minlength: "密码长度不能小于 6 个字母",
          regex:"密码必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间"
            },
      loginpwd2:{
          required: "请输入密码",
          minlength: "密码长度不能小于 6 个字母",
          equalTo: "两次密码输入不一致",
          regex:"密码必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间"
            }
}
});

通过表单id获取表单,再通过rules设置通过name属性对控件添加验证。这种方式如果name是变量拼接生成,则无法对控件添加验证,因为不知道控件name是什么。

此时可以通过以下方式
添加自定义验证

// 手机号码验证
jQuery.validator.addMethod("mobile", 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));
}, "手机号码格式错误"); 

将自定义验证的名字mobile添加到控件

<input type="text" name="test" mobile>

这样既可为input添加验证。验证似乎只能添加在form表单

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值