jQuery中使用validate插件校验表单功能


Posted in jQuery onMay 24, 2019

一.功能效果

jQuery中使用validate插件校验表单功能

二.部分特殊规则

2.1 错误信息位置更改

在表单某选项中增加代码

<label class="error" for="表单中选项的name"></label>

例如 : 性别必选

<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>

2.2 身份证验证

在<script>标签中 , 增加身份证格式验证的自定义规则

/*身份证格式验证*/
$.validator.addMethod("card", function (value, element, params) {
  var reg = /^\d{15}(\d{2}[\dX])?$/i;
  return reg.test(value);
}, "idcard error");

在rule和message中增加相应的规则判定

$("#empForm").validate({
  rules: {
    idcard: {
      card: true
    }
  },
  messages: {
    idcard: {
      card: "请输入有效身份证号"
    }
  }
});

2.3 手机号验证

在<script>标签中 , 增加手机号格式验证的自定义规则

/*手机号格式验证*/
$.validator.addMethod("phone", function (value, element, params) {
  var reg = /^1[34578]\d{9}$/;
  return reg.test(value);
}, "phone error");

在rule和message中增加相应的规则判定

$("#empForm").validate({
  rules: {
    phone: {
      phone: true
    }
  },
  messages: {
    phone: {
      phone: "请输入有效身份证号"
    }
  }
});

jQuery中使用validate插件校验表单功能

三.整体代码

<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title>我的jquery表单校验页面</title>
  <style type="text/css">
    h1 {
      text-align: center;
    }
    table {
      width: 80%;
      margin: 0 auto;
      border-collapse: collapse;
    }
    td {
      padding: 10px 14px;
      border: 1px solid #999;
    }
    .error {
      color: red;
    }
  </style>
</head>
<body>
<h1>员工信息录入</h1>
<form name="empForm" id="empForm" method="get" action="#">
  <table>
    <tr>
      <td>真实姓名(不能为空 ,没有其他要求)</td>
      <td><input type="text" id="realname" name="realname"/>
      </td>
    </tr>
    <tr>
      <td>登录名(登录名不能为空,长度应该在5-8之间:</td>
      <td><input type="text" id="username" name="username"/></td>
    </tr>
    <tr>
      <td>密码(不能为空,长度6-12之间):</td>
      <td><input type="password" id="pwd" name="pwd"/></td>
    </tr>
    <tr>
      <td>重复密码密码(不能为空,长度6-12之间):</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>年龄(必填26-50):</td>
      <td><input type="text" id="age" name="age"/></td>
    </tr>
    <tr>
      <td>你的学历:</td>
      <td>
        <select name="edu" id="edu">
          <option value="">-请选择你的学历-</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="pp" value="0"/>乒乓球
        <input type="checkbox" name="hobby" id="ym" value="1"/>羽毛球
        <input type="checkbox" name="hobby" id="sw" value="2"/>上网
        <input type="checkbox" name="hobby" id="ly" value="3"/>旅游
        <input type="checkbox" name="hobby" id="gw" value="4"/>购物
      </td>
    </tr>
    <tr>
      <td align="left">电子邮箱(格式正确):</td>
      <td><input type="text" id="email" name="email"/></td>
    </tr>
    <tr>
      <td align="left">身份证(15-18,格式正确):</td>
      <td><input type="text" id="idcard" name="idcard"/></td>
    </tr>
    <tr>
      <td align="left">手机号(格式正确):</td>
      <td><input type="text" id="phone" name="phone"/></td>
    </tr>
    <tr>
      <td></td>
      <td><input type="submit" id="smtBtn" value="保存"></td>
    </tr>
  </table>
</form>
<script src="./js/jquery-3.3.1.min.js"></script>
<script src="./js/jquery.validate.min.js"></script>
<script>
 /*页面加载完成后,开启表单验证的功能,这样每输入一个就会及时校验一个*/
 $().ready(function () {
   /*校验表单项*/
   $("#empForm").validate({
     rules: {
       realname: {
         required: true
       },
       username: {
         required: true,
         rangelength: [5, 8]
       },
       pwd: {
         required: true,
         rangelength: [6, 12]
       },
       pwd2: {
         required: true,
         rangelength: [6, 12],
         /*重复密码需要与原密码相同的要求*/
         equalTo: "#pwd"
       },
       sex: {
         required: true
       },
       age: {
         required: true,
         range: [26, 50]
       },
       email: {
         email: true
       },
       idcard: {
         card: true
       },
       phone: {
         phone: true
       }
     },
     messages: {
       realname: {
         required: "真实姓名不能为空"
       },
       username: {
         required: "登录名不能为空",
         rangelength: "登录名长度要在5-8位之间"
       },
       pwd: {
         required: "密码不能为空",
         rangelength: "密码长度在6-12位之间"
       },
       pwd2: {
         required: "重复密码不能为空",
         rangelength: "重复密码长度在6-12位之间",
         equalTo: "重复密码与密码不一致"
       },
       sex: {
         required: "请选择性别"
       },
       age: {
         required: "年龄不能为空",
         range: "年龄必须在26-50岁之间"
       },
       email: {
         email: "请输入有效邮箱"
       },
       idcard: {
         card: "请输入有效身份证号"
       },
       phone: {
         phone: "请输入有效手机号"
       }
     }
   });
 });
 
 /*身份证格式验证*/
 $.validator.addMethod("card", function (value, element, params) {
   var reg = /^\d{15}(\d{2}[\dX])?$/i;
   return reg.test(value);
 }, "idcard error");
 
 
 /*手机号格式验证*/
 $.validator.addMethod("phone", function (value, element, params) {
   var reg = /^1[34578]\d{9}$/;
   return reg.test(value);
 }, "phone error");
</script>
</body>
</html>

四.validate表单校验常用规则

jQuery中使用validate插件校验表单功能

总结

以上所述是小编给大家介绍的jQuery中使用validate插件校验表单功能 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

jQuery 相关文章推荐
为JQuery EasyUI 表单组件增加焦点切换功能的方法
Apr 13 jQuery
简述jQuery Easyui一些用法
Aug 01 jQuery
jQuery实现的鼠标滚轮控制图片缩放功能实例
Oct 14 jQuery
jQuery响应滚动条事件功能示例
Oct 14 jQuery
详解jQuery中的isPlainObject()使用方法
Feb 27 jQuery
jQuery实现文件编码成base64并通过AJAX上传的方法
Apr 12 jQuery
jQuery实现模糊搜索功能的方法分析
Jun 29 jQuery
JS拖动选择table里的单元格完整实例【基于jQuery】
May 28 jQuery
javascript异步处理与Jquery deferred对象用法总结
Jun 04 jQuery
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
Oct 09 jQuery
jQuery-App输入框实现实时搜索
Nov 19 jQuery
基于jQuery拖拽事件的封装
Nov 29 jQuery
jQuery操作attr、prop、val()/text()/html()、class属性
May 23 #jQuery
jquery+php后台实现省市区联动功能示例
May 23 #jQuery
jQuery Migrate 插件用法实例详解
May 22 #jQuery
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
May 17 #jQuery
jQuery实现的点击显示隐藏下拉菜单功能完整示例
May 17 #jQuery
jQuery控制input只能输入数字和两位小数的方法
May 16 #jQuery
Vue项目中使用jquery的简单方法
May 16 #jQuery
You might like
php中通过DirectoryIterator删除整个目录的方法
2015/03/13 PHP
用javascript实现点击链接弹出&quot;图片另存为&quot;而不是直接打开
2007/08/15 Javascript
js类中的公有变量和私有变量
2008/07/24 Javascript
jQuery1.6 使用方法一
2011/11/23 Javascript
js动态为代码着色显示行号
2013/05/29 Javascript
jquery对table中各数据的增加、保存、删除操作示例
2014/05/14 Javascript
基于jQuery实现简单的折叠菜单效果
2015/11/23 Javascript
基于JavaScript实现一定时间后去执行一个函数
2015/12/14 Javascript
微信小程序 地图map详解及简单实例
2017/01/10 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
JS判断微信扫码的方法
2017/08/07 Javascript
Vue实例中生命周期created和mounted的区别详解
2017/08/25 Javascript
JS实现提交表单前的数字及邮箱校检功能
2017/11/13 Javascript
解决LayUI表单获取不到data的问题
2018/08/20 Javascript
小程序异步问题之多个网络请求依次执行并依次收集请求结果
2019/05/05 Javascript
JS代码屏蔽F12,右键,粘贴,复制,剪切,选中,操作实例
2019/09/17 Javascript
通过微信公众平台获取公众号文章的方法示例
2019/12/25 Javascript
[01:14:30]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第二场 8.20.mp4
2019/08/22 DOTA
Python Queue模块详解
2014/11/30 Python
详解Python中__str__和__repr__方法的区别
2015/04/17 Python
python实现RSA加密(解密)算法
2016/02/17 Python
PyCharm安装第三方库如Requests的图文教程
2018/05/18 Python
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
python安装virtualenv虚拟环境步骤图文详解
2019/09/18 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
PyCharm Ctrl+Shift+F 失灵的简单有效解决操作
2021/01/15 Python
Solaris操作系统的线程机制
2015/07/28 面试题
企业总经理职责
2014/02/02 职场文书
入股协议书
2014/04/14 职场文书
保护黄河倡议书
2014/05/16 职场文书
化验室岗位职责
2015/02/14 职场文书
golang 如何用反射reflect操作结构体
2021/04/28 Golang
opencv读取视频并保存图像的方法
2021/06/04 Python
Python3中PyQt5简单实现文件打开及保存
2021/06/10 Python
Vue项目打包、合并及压缩优化网页响应速度
2021/07/07 Vue.js
从零开始在Centos7上部署SpringBoot项目
2022/04/07 Servers