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插件HighCharts绘制2D饼图效果示例【附demo源码下载】
Mar 21 jQuery
jQuery插件HighCharts绘制简单2D柱状图效果示例【附demo源码】
Mar 21 jQuery
jQuery插件之validation插件
Mar 29 jQuery
jQuery图片缩放插件smartZoom使用实例详解
Aug 25 jQuery
jQuery UI 实例讲解 - 日期选择器(Datepicker)
Sep 18 jQuery
基于jQuery实现无缝轮播与左右点击效果
May 13 jQuery
jQuery 实现批量提交表格多行数据的方法
Aug 09 jQuery
jQuery序列化form表单数据为JSON对象的实现方法
Sep 20 jQuery
JQuery实现ajax请求的示例和注意事项
Dec 10 jQuery
jquery3和layui冲突导致使用layui.layer.full弹出全屏iframe窗口时高度152px问题
May 12 jQuery
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
May 14 jQuery
JS+JQuery实现无缝连接轮播图
Dec 30 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
PHP面向对象的使用教程 简单数据库连接
2006/11/25 PHP
PHP定时任务延缓执行的实现
2014/10/08 PHP
php校验表单检测字段是否为空的方法
2015/03/20 PHP
php+ajax简单实现全选删除的方法
2016/12/06 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
2017/06/09 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
php字符串过滤strip_tags()函数用法实例分析
2019/06/24 PHP
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
2006/10/17 Javascript
获取Javscript执行函数名称的方法
2006/12/22 Javascript
JavaScript 数组的 uniq 方法
2008/01/23 Javascript
JS 非图片动态loading效果实现代码
2010/04/09 Javascript
JSONP 跨域共享信息
2012/08/16 Javascript
Js base64 加密解密介绍
2013/10/11 Javascript
Javascript验证上传图片大小[前台处理]
2014/07/18 Javascript
jQuery选择器源码解读(八):addCombinator函数
2015/03/31 Javascript
javascript作用域链(Scope Chain)用法实例解析
2015/11/30 Javascript
jquery实现百叶窗效果
2017/01/12 Javascript
Vue.js常用指令的使用小结
2017/06/23 Javascript
Vue-Quill-Editor富文本编辑器的使用教程
2018/09/21 Javascript
微信小程序框架的页面布局代码
2019/08/17 Javascript
将Python中的数据存储到系统本地的简单方法
2015/04/11 Python
Python自定义简单图轴简单实例
2018/01/08 Python
Python从文件中读取数据的方法讲解
2019/02/14 Python
python正则表达式匹配不包含某几个字符的字符串方法
2019/07/23 Python
python中用logging实现日志滚动和过期日志删除功能
2019/08/20 Python
python多进程(加入进程池)操作常见案例
2019/10/21 Python
谈谈python垃圾回收机制
2020/09/27 Python
HTML5 form标签之解放表单验证、增加文件上传、集成拖放的使用方法
2013/04/24 HTML / CSS
使用layui实现左侧菜单栏及动态操作tab项的方法
2020/11/10 HTML / CSS
蔻驰西班牙官网:COACH西班牙
2019/01/16 全球购物
前厅收银主管岗位职责
2014/02/04 职场文书
项目建议书范文
2014/05/12 职场文书
2015年度绩效考核工作总结
2015/05/27 职场文书
Vue实现下拉加载更多
2021/05/09 Vue.js
Pytorch 中net.train 和 net.eval的使用说明
2021/05/22 Python
Java实现给Word文件添加文字水印
2022/02/15 Java/Android