Jquery Validate 默认校验规则、jQuery.validator.addMethod自定义验证方法---例子

一、Jquery Validate 默认校验规则

(1)、required:true               必输字段
(2)、remote:"remote-valid.jsp"   使用ajax方法调用remote-valid.jsp验证输入值
(3)、email:true                  必须输入正确格式的电子邮件
(4)、url:true                    必须输入正确格式的网址
(5)、date:true                   必须输入正确格式的日期,日期校验ie6出错,慎用
(6)、dateISO:true                必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22 只验证格式,不验证有效性
(7)、number:true                 必须输入合法的数字(负数,小数)
(8)、digits:true                 必须输入整数
(9)、creditcard:true             必须输入合法的信用卡号
(10)、equalTo:"#password"        输入值必须和#password相同
(11)、accept:                    输入拥有合法后缀名的字符串(上传文件的后缀)
(12)、maxlength:5                输入长度最多是5的字符串(汉字算一个字符)
(13)、minlength:10               输入长度最小是10的字符串(汉字算一个字符)
(14)、rangelength:[5,10]         输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符)
(15)、range:[5,10]               输入值必须介于 5 和 10 之间
(16)、max:5                      输入值不能大于5
(17)、min:10                     输入值不能小于10

默认提示

messages: {
    required: "This field is required.",
    remote: "Please fix this field.",
    email: "Please enter a valid email address.",
    url: "Please enter a valid URL.",
    date: "Please enter a valid date.",
    dateISO: "Please enter a valid date (ISO).",
    dateDE: "Bitte geben Sie ein g眉ltiges Datum ein.",
    number: "Please enter a valid number.",
    numberDE: "Bitte geben Sie eine Nummer ein.",
    digits: "Please enter only digits",
    creditcard: "Please enter a valid credit card number.",
    equalTo: "Please enter the same value again.",
    accept: "Please enter a value with a valid extension.",
    maxlength: $.validator.format("Please enter no more than {0} characters."),
    minlength: $.validator.format("Please enter at least {0} characters."),
    rangelength: $.validator.format("Please enter a value between {0} and {1} characters     long."),
    range: $.validator.format("Please enter a value between {0} and {1}."),
    max: $.validator.format("Please enter a value less than or equal to {0}."),
    min: $.validator.format("Please enter a value greater than or equal to {0}.")
},

二、jQuery.validator.addMethod自定义验证方法

    ---- addMethod(name,method,message)

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

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

参数message是提示信息

下面是例子 

1、html页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js校验</title>
    <script src="../js/jquery-1.11.1.min.js" type="text/javascript"></script>
    <script src="../js/jquery.validate.min.js" type="text/javascript"></script>
    <script src="verificationTest.js" type="text/javascript"></script>
</head>
<body>
    <form id="myform" action="" method="post">
        <table>
            <tr>
                <td>姓名</td>
                <td> <input type="text" id="name" name="name"></td>
            </tr>
            <tr>
                <td>年龄</td>
                <td><input type="text" id="age" name="age"></td>
            </tr>
            <tr>
                <td>账号</td>
                <td> <input type="text" id="account" name="account"></td>
            </tr>
            <tr>
                <td>手机</td>
                <td> <input type="text" id="mobile" name="mobile"></td>
            </tr>
            <tr>
                <td>电话</td>
                <td> <input type="text" id="phone" name="phone"></td>
            </tr>
            <tr>
                <td>身份证</td>
                <td><input type="text" id="code" name="code"></td>
            </tr>
            <tr>
                <td>类型</td>
                <td><select name="type">
                    <option value="0">请选择</option>
                    <option value="1">1</option>
                    <option value="2">2</option>
                </select></td>
            </tr>
            <tr>
                <td><input type="submit" id="myformSubmit" value="确定"></td>
            </tr>
        </table>
    </form>
</body>
</html>

js页面


$(function () {

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

// 电话号码验证
    jQuery.validator.addMethod("phone", function(value, element) {
        var tel = /^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/;
        return this.optional(element) || (tel.test(value));
    }, "电话号码格式错误");

// 字母和数字的验证
    jQuery.validator.addMethod("charAndNum", function(value, element) {
        var chrnum = /^([a-zA-Z0-9]+)$/;
        return this.optional(element) || (chrnum.test(value));
    }, "只能输入数字和字母(字符A-Z, a-z, 0-9)");

// 中文的验证
    jQuery.validator.addMethod("chinese", function(value, element) {
        var chinese = /^[\u4e00-\u9fa5]+$/;
        return this.optional(element) || (chinese.test(value));
    }, "只能输入中文");

// 下拉框验证
    $.validator.addMethod("selectNone", function(value, element,param) {
        return value != param[0];
    }, "必须选择一项");

//整数位,小数位验证
    jQuery.validator.addMethod("decimal", function(value, element, param) {
        return this.optional(element) || new RegExp("^-?\\d{1," + (param[0] != null ? param[0] : "") + "}" + (param[1] != null ? (param[1] > 0 ? "(\\.\\d{1," + param[1] + "})?$" : "$") : "(\\.\\d+)?$")).test(value);
    }, $.validator.format("内容输入错误或者格式错误:整数位最多{0}位,小数位最多{1}位"));

// 验证值必须大于特定值(不能等于)
    jQuery.validator.addMethod("gt", function(value, element, param) {
        return value > param[0];
    }, $.validator.format("输入值必须大于 {0}!"));


    $("#myform").validate({
        rules: {
            name: { required: true, rangelength:[1,10] ,chinese:true},
            age:{ required: true,decimal:[2,2]},
            account : { required: true,charAndNum:true },
            mobile : {required: true,mobile:true},
            phone : {required: true,phone:true},
            code : {required: true ,gt:[10]},
            type : {required: true ,selectNone:[0]}

        },
        messages: {
            name: { required: '请填写真实姓名', rangelength : '请输入1-10个字' },
            age:{ required: '请填写手机号' },
            account : {required: '请填写账号'},
            mobile : {required: '请填写手机号' },
            phone : {required: '请填写电话号' },
            code : {required: '请填写身份证'},
            type : {required: '请选择类型'}
        }
    });
});
$("#myform").click(function () {
   //验证是否通过
    if (!$("#myform").valid()) {
        return;
    }
    //其他代码
});

效果

比较实用,网上查了查,自己整理试了一下,记录下来,以便不时之需

猜你喜欢

转载自blog.csdn.net/weixin_41637749/article/details/83893305