jQuery表单验证插件Validator的使用方法

                       

   from表单数据的合法性验证是个很常见的需求,jQuery提供了一个插件:jquery validate 官网下载
   若想使用需先引用jquery.validate.js,并且要在jquery.js之后引用。

<script src="js/jquery.js"></script><script src="js/jquery.validate.js"></script>
   
   
  • 1
  • 2

   把现在写的项目拿来演示一下,其使用了bootstrap框架。
   

<form class="form-horizontal" id="fillForm" action="javascript:void(0);">                    <div class="form-group">                        <label for="new_userName" class="col-md-2 control-label">昵称</label>                        <div class="col-md-8">                            <div class="input-group">                                <span class="input-group-addon">                                    <span class="glyphicon glyphicon-user"></span>                                </span>                                <input type="text" id="new_userName" name="new_userName" class="form-control" placeholder="输入新昵称(昵称确认后不可更改,4-10个字符)">                            </div>                        </div>                    </div>                    <div class="form-group">                        <label for="new_userPwd" class="col-md-2 control-label">密码</label>                        <div class="col-md-8">                            <div class="input-group">                                <span class="input-group-addon">                                    <span class="glyphicon glyphicon-lock"></span>                                </span>                                <input type="password" id="new_userPwd" name="new_userPwd" class="form-control" placeholder="输入密码(5-15个字符)"/>                            </div>                        </div>                    </div>                    <div class="form-group">                        <label for="new_userPwd_twice" class="col-md-2 control-label">确认密码</label>                        <div class="col-md-8">                            <div class="input-group">                                <span class="input-group-addon">                                    <span class="glyphicon glyphicon-lock"></span>                                </span>                                <input type="password" id="new_userPwd_twice" name="new_userPwd_twice" class="form-control" placeholder="请再次输入密码"/>                            </div>                        </div>                    </div>                    <div class="form-group">                        <label for="new_userEmail" class="control-label col-md-2">邮箱</label>                        <div class="col-md-8">                            <div class="input-group">                                <span class="input-group-addon">                                    <span class="glyphicon glyphicon-envelope"></span>                                </span>                                <input id="new_userEmail" name="new_userEmail" type="email" class="form-control" placeholder="输入个人邮箱"/>                            </div>                        </div>                    </div>                    <div class="form-group">                        <label for="new_userPhone" class="control-label col-md-2">手机</label>                        <div class="col-md-8">                            <div class="input-group">                                <span class="input-group-addon">                                    <span class="glyphicon glyphicon-phone"></span>                                </span>                                <input type="text" id="new_userPhone" name="new_userPhone" class="form-control" placeholder="输入个人手机号"/>                            </div>                        </div>                    </div>                    <div class="form-group">                        <label for="new_userBirth" class="control-label col-md-2">生日</label>                        <div class="col-md-8">                            <div class="input-group">                                <span class="input-group-addon">                                    <span class="glyphicon glyphicon-calendar"></span>                                </span>                                <input id="new_userBirth" name="new_userBirth" class="form-control" placeholder="选择您的生日(1960~2012)" readonly />                            </div>                        </div>                    </div>                    <div class="form-group">                        <label class="control-label col-md-2">性别</label>                        <div class="radio col-md-8">                            <label class="col-md-2">                                <input type="radio" name="new_userGender" id="man" value="man">                                男                            </label>                            <label class="col-md-2">                                <input type="radio" name="new_userGender" id="woman" value="woman">                                女                            </label>                            <label class="col-md-2">                                <input type="radio" name="new_userGender" id="secret" value="secret" checked>                                保密                            </label>                        </div>                    </div>                    <div class="form-group">                        <label class="control-label col-md-2">院系</label>                        <div class="col-md-8">                            <div id="col_and_maj" class="input-group">                                <div class="col-md-4">                                    <select id="new_userCollege" name="new_userCollege" class="form-control col-md-3 prov"></select>                                </div>                                <div class="col-md-4">                                    <select id="new_userMajor" name="new_userMajor" class="form-control col-md-3 city"></select>                                </div>                            </div>                        </div>                    </div>                    <div class="form-group form-button">                        <button type="reset" class="btn btn-default col-md-offset-8">重置</button>                        <button id="fillFormSubmit" type="submit" class="btn btn-primary">确认</button>                    </div>                </form>
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114

   html文件跟平常一样,主要在js中进行验证:
   

$(function(){jQuery.validator.addMethod("regUserName", function (value, element) {        return this.optional(element) || /^[0-9]*[a-zA-Z_\u4e00-\u9fa5]+[0-9]*$/.test(value);    }, "注册昵称为4-10位数字、下划线、中文或英文字母,但不能全是数字");    jQuery.validator.addMethod("isMobile", function(value, element) {        var length = value.length;        var mobile = /^((\(\d{2,3}\))|(\d{3}\-))?1[3,8,5]{1}\d{9}$/;        return this.optional(element) || (length == 11 && mobile.test(value));    }, "请正确填写您的手机号码");    //登录帐号合法性验证    jQuery.validator.addMethod("logAccountCheck", function (value, element) {        var length = value.length;        var mobile = /^((\(\d{2,3}\))|(\d{3}\-))?1[3,8,5]{1}\d{9}$/;        return this.optional(element) || (length == 11 && mobile.test(value)) || /^[\u0391-\uFFE5\w]+$/.test(value);    }, "昵称不符合登录规则");$("#fillForm").validate({        errorElement: 'span',        errorClass: 'help-block',        focusInvalid: false,        rules: {            new_userName: {                required: true,                regUserName: true,                minlength: 4,                maxlength: 10            },            new_userPwd: {                required: true,                rangelength: [5, 15]            },            new_userPwd_twice: {                required: true,                equalTo: "#new_userPwd"            },            new_userEmail: {                required: true,                email: true            },            new_userPhone: {                required: true,                isMobile:true,                digits: true,                minlength: 11,                maxlength: 11            },            new_userBirth: {                required: true            },            new_userCollege: {                required: true            },            new_userMajor: {                required: true            }        },        messages: {            new_userName: {                required: '昵称不能为空',                minlength: '昵称最少为4位',                maxlength: '昵称最多为10位'            },            new_userPwd: {                required: '密码不能为空',                rangelength: $.validator.format("密码长度必须在 {0} 到 {1} 之间")            },            new_userPwd_twice: {                required: '此项不能为空',                equalTo: '两次输入的密码必须一致'            },            new_userEmail: {                required: '邮箱不能为空',                email: '邮箱格式不正确(例如: [email protected])'            },            new_userPhone: {                required: '电话号不能为空',                digits: '电话号必须是数字',                minlength: '电话号为11位',                maxlength: '电话号为11位'            },            new_userBirth: {                required: '生日不能为空'            },            new_userCollege: {                required: '学院不能为空'            },            new_userMajor: {                required: '专业不能为空'            }        },        highlight: function (element) {            $(element).closest('.form-group').addClass('has-error');        },        success: function (label) {            label.closest('.form-group').removeClass('has-error').addClass('has-success');            label.remove();        },        errorPlacement: function (error, element) {            element.parent('div').after(error);        },        submitHandler: function (form) {            var result = {                "new_userName": $("#new_userName").val(),                "new_userPwd": $("#new_userPwd").val(),                "new_userEmail": $("#new_userEmail").val(),                "new_userPhone": $("#new_userPhone").val(),                "new_userBirth": $("#new_userBirth").val(),                "new_userGender": $("input[name='new_userGender']:checked").val(),                "new_userCollege": $("#new_userCollege").val() + ',' + $("#new_userMajor").val()            };            result.new_userIP = ip;            var res = JSON.stringify(result);            alert(res);            return false;        }    })})
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133

   简单用法:
   1.:rules里定义输入框规则,常见的有required, minlength, maxlength,  email, 其中使用输入框的name属性来指定输入框。
   2:messages里定义当输入内容不符合规则时显示的信息,如果自定义则显示默认的错误信息。
   3:可以自定义规则,比如上面代码开头部分定义了自定义规则,可以根据自己的需求仿照代码即可,而且网上也提供了现成的自定义验证规则。
   4:当输入框均符合规则时,可以点击提交,此时,会指定submitHandler函数,

   
   更详细的使用教程可参考官网

           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

猜你喜欢

转载自blog.csdn.net/qq_43682817/article/details/86575197