jQuery表单校验插件validator使用方法详解


Posted in jQuery onFebruary 18, 2020

validator插件:将jquery实现的常用操作进行封装,我们只需要学会插件的使用语法,就可以使用简单的代码实现较为复杂的功能。

validator的基本使用

1. 需要引入的文件

① jQuery类库

② 插件的js文件 官网

2.表单校验插件validator的基本语法

在rules中通过校验规则名称使用校验规则 ,在messages中定义该规则对应的错误提示信息。

<!-- 需要引入的文件 --> 
<script src="../lib/jquery.js"></script>
<script src="../dist/jquery.validate.js"></script>

<!-- 表单校验插件validator的基本语法 -->
<script>
 $("form表单的选择器").validate({
 rules:{//配置表单项校验的规则
 表单项的name:{
 校验规则名称: 规则值,
 ...
 校验规则名称: 规则值
 },
 ...,
 表单项的name:{
 校验规则名称: 规则值,
 ...
 校验规则名称: 规则值
 }
 },
 messages:{//配置对应的表单项校验失败后的错误提示信息
 表单项的name:{
 校验规则名称: "提示信息",
 ...
 校验规则名称: "提示信息"
 },
 ...,
 表单项的name:{
 校验规则名称: "提示信息",
 ...
 校验规则名称: "提示信息"
 }
 }
 });
</script>

常用的校验规则名称,规则值及使用范围:

jQuery表单校验插件validator使用方法详解

注:$(“form表单的选择器”)即表单jQuery对象。

扩展:当错误提示信息不按照我们预想的位置显示时,我们可以自定义错误显示标签放在我们需要显示的位置。

语法:

//标签写在什么地方,错误信息就显示在什么地方
<label class="error" for="表单项的name"></label>

3. 自定义校验方法

如果预定义的校验规则不能满足需求则可以进行自定义校验规则。

自定义校验语法:

$.validator.addMethod("校验规则名称",function(value, element, params){
 //value:要校验的值(校验组件的value值)
 //element:要校验的表单项标签对象
 //params:使用此规则时,配置的规则的值。(校验规则的参数)
 //如果校验通过,就返回true;否则返回false
}, "默认效验错误时的提示信息");

validator表单校验的简单示例

<!DOCTYPE html>
<html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title></title>

 <style type="text/css">
 table {
 width: 30%;
 
 /* 居中 */
 /* margin: 0 auto; */
 
 /* magin:atuo配合绝对定位实现水平和垂直方向居中 */
 margin:auto;
 position: absolute;
 top: 0;
 right: 0;
 bottom: 0;
 left: 0;
 
 }
 td {
 padding: 8px 2px; 
 }
 
 .error {
 color: red;
 }
 </style>
 </head>

 <body>
 <form name="empForm" id="empForm" method="get" action="#">
 <table>
 <tr>
 <td>用户名</td>
 <td><input type="text" id="username" name="username" /></td>
 </tr>
 
 <tr>
 <td>密码</td>
 <td><input type="password" id="pwd" name="pwd" /></td>
 </tr>
 
 <tr>
 <td>确认密码</td>
 <td><input type="password" id="pwd2" name="pwd2" /></td>
 </tr>
 
 <tr>
 <td>性别</td>
 <td>
 <input type="radio" id="male" value="m" name="sex" />男
 <input type="radio" id="female" value="f" name="sex" />女
 <label class="error" for="sex"></label>
 
 </td>
 </tr>
 
 <tr>
 <td>年龄</td>
 <td><input type="text" id="age" name="age" /></td>
 </tr>
 
 <tr>
 <td align="left">电子邮箱:</td>
 <td><input type="text" id="email" name="email" /></td>
 </tr>
 
 <tr>
 <td align="left">身份证:</td>
 <td><input type="text" id="idcard" name="idcard" /></td>
 </tr>
 
 <tr>
 <td>学历</td>
 <td>
 <select name="edu" id="edu">
 <option value="">-请选择你的学历-</option>
 <option value="a">学前</option>
 <option value="a">小学</option>
 <option value="a">初中</option>
 <option value="a">高中</option>
 <option value="a">专科</option>
 <option value="b">本科</option>
 <option value="c">研究生</option>
 <option value="e">硕士</option>
 <option value="d">博士</option>
 </select>
 </td>
 </tr>
 
 <tr>
 <td>兴趣爱好</td>
 <td colspan="2">
 <input type="checkbox" name="hobby" id="coding" value="0" />编程
 <input type="checkbox" name="hobby" id="read" value="1" />看书
 <input type="checkbox" name="hobby" id="ball" value="2" />打球
 <label class="error" for="hobby"></label>
 </td>
 </tr>
 
 <tr>
 <td></td>
 <td><input type="submit" id="smtBtn" value="确定"></td>
 </tr>
 </table>
 </form>
 
 
 <!-- 引入jQuery类库 -->
 <script src="js/jquery-3.3.1.js"></script>
 <!-- 引入validator插件 -->
 <script src="js/jquery.validate.min.js"></script>
 
 <script>
 $("#empForm").validate({
 rules:{//配置表单项校验的规则
 username:{
 required: true,
 maxlength:5,
 },
 pwd:{
 required: true,
 rangelength:[6,10]
 },
 pwd2:{
 required:true,
 rangelength:[6, 10],
 equalTo:"#pwd"
 },
 sex:{
 required:true
 },
 age:{
 required:true,
 range:[18, 70],
 digits:true
 },
 email:{
 required:true,
 email:true
 },
 idcard:{
 required:true,
 card:true
 },
 edu:{
 required:true
 },
 hobby:{
 required:true
 }, 
 },
 messages:{//配置对应的表单项校验失败后的错误提示信息
 username:{
 required: "请输入用户名",
 maxlength:"用户名不得多于5位"
 },
 pwd:{
 required: "请输入密码",
 rangelength:"密码必须是6~10位"
 },
 pwd2:{
 required:"确认密码不能为空",
 rangelength:"确认密码必须是6~10位",
 equalTo:"两次密码输入不一致"
 },
 sex:{
 required:"性别必选"
 },
 age:{
 required:"年龄不能为空",
 range:"年龄必须是18~70岁之间",
 digits:"年龄必须是整数"
 },
 email:{
 required:"邮箱不能为空",
 email:"邮箱格式不正确"
 },
 idcard:{
 required:"身份证号不能为空",
 card:"身份证号格式不正确"//自定义身份证校验方法中有错误时提示信息,这里写了,会显示这里的
 },
 edu:{
 required:"学历必选"
 },
 hobby:{
 required:"兴趣爱好必选"
 } 
 }
 })
 
 //自定义身份证校验方法
 $.validator.addMethod("card",function(value, element, params){
 //value:要校验的值(校验组件的value值)
 //element:要校验的表单项标签对象
 //params:使用此规则时,配置的规则的值。(校验规则的参数)
 
 //如果校验通过,就返回true;否则返回false
 
 // 身份证格式:15位数字, 18位数字, 17位数字+X
 var reg = /^\d{15}(\d{2}[\dx])?$/i;//简单的身份证校验正则表达式
 var result = reg.test(value);
 return result;
 },"请输入正确的身份证号");
 </script> 
 </body>
</html>

jQuery表单校验插件validator使用方法详解

本文已被整理到了《jquery表单验证大全》 ,欢迎大家学习阅读。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
JQuery EasyUI的一些常用组件
Jul 12 jQuery
js案例之鼠标跟随jquery版(实例讲解)
Jul 21 jQuery
利用jquery如何从json中读取数据追加到html中
Dec 01 jQuery
JS/jQuery实现DIV延时几秒后消失或显示的方法
Feb 12 jQuery
jQuery滚动条美化插件nicescroll简单用法示例
Apr 18 jQuery
jQuery 实现倒计时天,时,分,秒功能
Jul 31 jQuery
jQuery+css last-child实现选择最后一个子元素操作示例
Dec 10 jQuery
jQuery中each和js中forEach的区别分析
Feb 27 jQuery
jQuery内容选择器与表单选择器实例分析
Jun 28 jQuery
jquery制作的移动端购物车效果完整示例
Feb 24 jQuery
jQuery实现倒计时功能完整示例
Jun 01 jQuery
jQuery实现开关灯效果
Aug 02 jQuery
jquery传参及获取方式(两种方式)
Feb 13 #jQuery
jQuery实现简易QQ聊天框
Feb 10 #jQuery
jQuery实现简单聊天室
Feb 08 #jQuery
jquery实现点击弹出对话框
Feb 08 #jQuery
jQuery实现简易聊天框
Feb 08 #jQuery
jquery添加div实现消息聊天框
Feb 08 #jQuery
jQuery实现聊天对话框
Feb 08 #jQuery
You might like
espresso double下 咖啡粉超细时 饼压力对咖啡的影响
2021/03/03 冲泡冲煮
探讨:使用XMLSerialize 序列化与反序列化
2013/06/08 PHP
php读取excel文件示例分享(更新修改excel)
2014/02/27 PHP
PHP实现多图片上传类实例
2014/07/26 PHP
Yii中实现处理前后台登录的新方法
2015/12/28 PHP
thinkPHP基于ajax实现的菜单与分页示例
2016/07/12 PHP
JavaScript 计算当天是本年本月的第几周
2009/03/22 Javascript
斜45度寻路实现函数
2009/08/20 Javascript
写js时遇到的一些小问题
2010/12/06 Javascript
javascript管中窥豹 形参与实参浅析
2011/12/17 Javascript
Javascript高级技巧分享
2014/02/25 Javascript
JS+CSS实现的蓝色table选项卡效果
2015/10/08 Javascript
JavaScript数据绑定实现一个简单的 MVVM 库
2016/04/08 Javascript
Three.js学习之正交投影照相机
2016/08/01 Javascript
很实用的js选项卡切换效果
2016/08/12 Javascript
微信小程序五星评分效果实现代码
2017/04/06 Javascript
实现图片首尾平滑轮播(JS原生方法—节流)
2017/10/17 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
2018/05/25 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
layui lay-verify form表单自定义验证规则详解
2019/09/18 Javascript
浅谈layui 表单元素的选中问题
2019/10/25 Javascript
Python统计列表中的重复项出现的次数的方法
2014/08/18 Python
用实例分析Python中method的参数传递过程
2015/04/02 Python
Python实现周期性抓取网页内容的方法
2015/11/04 Python
python游戏地图最短路径求解
2019/01/16 Python
python 数据类型强制转换的总结
2021/01/25 Python
Hibernate持久层技术
2013/12/16 面试题
高中生校园生活自我评价
2013/09/19 职场文书
商务会议邀请函
2014/01/09 职场文书
社区工作者先进事迹
2014/01/18 职场文书
应届毕业生求职信范文
2014/05/08 职场文书
承诺书范文
2014/06/03 职场文书
2015年纪委工作总结
2015/05/13 职场文书
奖励申请报告范文
2015/05/15 职场文书
Mysql中存储引擎的区别及比较
2021/06/04 MySQL
MySQL外键约束(Foreign Key)案例详解
2022/06/28 MySQL