大家好,今天小编来为大家解答如何使用jQuery表单验证插件Validator这个问题,很多人还不知道,现在让我们一起来看看吧!
script src=’//cdn.bootcss.com/jquery/3.4.1/jquery.js’/scriptscript src=’js/jquery.validate.js’/script 让我演示一下我现在正在编写的项目。它使用引导框架。
$(function() { jQuery.validator.addMethod(‘regUserName’, function(value, element) { return this.可选(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}$/; 返回this.可选(元素) || (长度==11 移动。 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, [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 }, th: { required: true },new_userCollege: { required: true },new_userMajor: { required: true } } , messages: { new_userName: { required: ‘昵称不能为空’, minlength: ‘昵称至少为4个字符’, maxlength: ‘昵称最多为10个字符’ }, new_userPwd: { required: ‘密码不能为空beempty’, rangelength: $.validator.format(‘密码长度必须在{0}到{1}之间’) }, new_userPwd_twice: { required: ‘该项不能为空’, equalTo: ‘两次输入的密码必须一致’ }, new_userEmail: { required: ‘邮箱不能为空’, email: ‘邮箱格式不正确(如: xxx@xx.com)’ }, 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: 函数(标签){ label.closest(‘.form-group’).removeClass(‘has-error’). addClass(‘已成功’);标签.remove(); }, errorPlacement: 函数(错误,元素){ element.parent(‘div’).after(error); }, SubmitHandler: 函数(表单){ 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() };结果.new_userIP=ip; var res=JSON.stringify( 结果);警报(RES);返回假; } })}) html文件和平常一样,主要是在js中验证:
$(function() { jQuery.validator.addMethod(‘regUserName’, function(value, element) { return this.可选(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}$/; 返回this.可选(元素) || (长度==11 移动。 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, [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 }, th: { required: true },new_userCollege: { required: true },new_userMajor: { required: true } } , messages: { new_userName: { required: ‘昵称不能为空’, minlength: ‘昵称至少为4个字符’, maxlength: ‘昵称最多为10个字符’ }, new_userPwd: { required: ‘密码不能为空beempty’, rangelength: $.validator.format(‘密码长度必须在{0}到{1}之间’) }, new_userPwd_twice: { required: ‘该项不能为空’, equalTo: ‘两次输入的密码必须一致’ }, new_userEmail: { required: ‘邮箱不能为空’, email: ‘邮箱格式不正确(如: xxx@xx.com)’ }, 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: 函数(标签){ label.closest(‘.form-group’).removeClass(‘has-error’). addClass(‘已成功’);标签.remove(); }, errorPlacement: 函数(错误,元素){ element.parent(‘div’).after(error); }, SubmitHandler: 函数(表单){ 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() };结果.new_userIP=ip; var res=JSON.stringify( 结果);警报(RES);返回假; } })}) 简单用法:
1.在rules中定义输入框规则,常见的有必填,minlength、maxlength、email,其中输入框的name属性用于指定输入框。
2:Messages定义了输入内容不符合规则时显示的信息。如果自定义,将显示默认错误消息。
3:可以自定义规则。例如,自定义规则是在上面代码的开头定义的。您可以根据自己的需求模仿代码,网上也提供了现成的自定义验证规则。
4:当所有输入框都符合规则后,即可点击提交。这时,就会指定submitHandler函数。
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/127077.html
用户评论
箜明
这个jQuery表单验证插件真的太赞了!以前写表单验证总是要自己实现各种规则,现在用这个插件直接就能解决问题,省时省力啊!
有8位网友表示赞同!
黑夜漫长
感觉这个Validator的配置还挺灵活的,可以自定义错误提示信息,还能设置不同的验证规则。学习一下试试!
有16位网友表示赞同!
病态的妖孽
最近也在做项目,需要用到表单验证组件,搜了一下发现这个jQuery Validator很不错!赶紧标记下来学习一下。
有16位网友表示赞同!
权诈
看了这篇文章感觉还行吧,但我觉得在实践中用起来会比较复杂,毕竟插件配置和各种选项还是有点多。希望作者能更详细地介绍一些使用场景和技巧。
有14位网友表示赞同!
空巷
表单验证插件这么多,怎么选择一个合适的呢?我听人说这个 jQuery Validator 的效果不错,看来得仔细研究一下了。
有12位网友表示赞同!
墨城烟柳
以前一直靠纯javascript写表单验证,感觉有点累赘,现在用Validator感觉效率提高了很多,代码短、易读也能保证功能性。
有10位网友表示赞同!
来自火星球的我
这篇文章写的真详细!将各个函数的使用方式都讲解得清楚明白,我是一个刚接触JavaScript的小白,跟着文章都能慢慢理解。非常感谢作者的分享!
有14位网友表示赞同!
七夏i
这个Validator确实很方便,能够直接集成各种验证规则,以前我自己写测试用例还要考虑各种边界情况,简直太耗时间了!
有9位网友表示赞同!
日久见人心
说实话,觉得这篇文章比较注重技术细节,没有从实际项目出发来讲解如何使用 Validator,对于初学者来说可能不太友好。希望能有更多案例来展示插件的实际应用场景。
有8位网友表示赞同!
柠栀
表单验证对于web开发来说是必不可少的,这个jQuery Validator 确实可以帮我提高效率。现在很多网站都采用这种方式实现,看来这是个值得学习的方向啊!
有19位网友表示赞同!
淡抹丶悲伤
我之前就用过 jQuery UI 插件,感觉很实用,这款 Validator 也看起来还不错!打算先翻阅一下文档,看看能不能满足我的需求。
有9位网友表示赞同!
凝残月
表单验证插件确实能节省我们的工作量,但是每个插件都有自己的特点和适用场景,需要根据实际项目仔细选择。 这篇文章介绍的 Validator 看起来也不错, 值得我去了解一下。
有6位网友表示赞同!
余温散尽ぺ
觉得这个Validator写的太复杂了,很多配置参数我不清楚该怎么理解使用啊!希望作者能提供一些具体的示例代码来进一步说明!
有14位网友表示赞同!
Edinburgh°南空
我比较倾向于使用简洁易懂的JavaScript库来实现表单验证,感觉 Validator 显得过于繁琐。不过需要承认它提供了丰富的验证规则,或许在特殊情境下还是可以用到的。
有12位网友表示赞同!
安之若素
最近找些jQuery插件扩展我的网页交互功能,这个Validator一看就是个不错的选择!期待能够快速上手并提高开发效率
有20位网友表示赞同!
自繩自縛
感觉 Validator 的主要功能比较单一,只局限于表单验证,并没有提供更丰富的交互元素功能。我希望它能集成一些额外的功能,比如自动提交表单或进行数据校验等,这样会更加实用!
有13位网友表示赞同!
白恍
学习 jQuery 也挺长时间了,终于找到一个能够让我快速实现表单验证的插件!这篇文章介绍的 Validator 非常清晰简洁,我已经开始尝试使用它在我的项目中。
有9位网友表示赞同!