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.uploadifive插件怎么解决上传限制图片或文件大小问题
May 08 jQuery
关于jQuery库冲突的完美解决办法
May 20 jQuery
jQuery.Form实现Ajax上传文件同时设置headers的方法
Jun 26 jQuery
jQuery实现表单动态加减、ajax表单提交功能
Jun 08 jQuery
jQuery轮播图实例详解
Aug 15 jQuery
js jquery 获取某一元素到浏览器顶端的距离实现方法
Sep 05 jQuery
jQuery序列化form表单数据为JSON对象的实现方法
Sep 20 jQuery
JS拖动选择table里的单元格完整实例【基于jQuery】
May 28 jQuery
jQuery实现文本显示一段时间后隐藏的方法分析
Jun 20 jQuery
jquery html添加元素/删除元素操作实例详解
May 20 jQuery
深入分析jQuery.one() 函数
Jun 03 jQuery
jQuery class属性操作addClass()与removeClass()、hasClass()、toggleClass()
Mar 31 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
用ADODB来让PHP操作ACCESS数据库的方法
2006/12/31 PHP
用php制作简单分页(从数据库读取记录)的方法详解
2013/05/04 PHP
php实现压缩合并js的方法【附demo源码下载】
2016/09/22 PHP
PHP实现递归目录的5种方法
2016/10/27 PHP
PHP使用finfo_file()函数检测上传图片类型的实现方法
2017/04/18 PHP
CakePHP框架Model函数定义方法示例
2017/08/04 PHP
javascript操作excel生成报表全攻略
2014/05/04 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
2014/10/11 Javascript
jQuery获取select选中的option的value值实现方法
2016/08/29 Javascript
jQuery+ajax读取并解析XML文件的方法
2016/09/09 Javascript
xmlplus组件设计系列之图标(ICON)(1)
2017/05/05 Javascript
React组件refs的使用详解
2018/02/09 Javascript
js操作table中tr的顺序实现上移下移一行的效果
2018/11/22 Javascript
[47:03]完美世界DOTA2联赛PWL S3 access vs LBZS 第一场 12.20
2020/12/23 DOTA
Python写的Socks5协议代理服务器
2014/08/06 Python
python实现网站的模拟登录
2016/01/04 Python
Python编写电话薄实现增删改查功能
2016/05/07 Python
Python教程之全局变量用法
2016/06/27 Python
详解django三种文件下载方式
2018/04/06 Python
python实现京东秒杀功能
2018/07/30 Python
解决Mac下首次安装pycharm无project interpreter的问题
2018/10/29 Python
提升Python程序性能的7个习惯
2019/04/14 Python
Python小程序之在图片上加入数字的代码
2019/11/26 Python
实例讲解CSS3中Transform的perspective属性的用法
2016/04/22 HTML / CSS
canvas实现二维码和图片合成的示例代码
2018/08/01 HTML / CSS
大学生年度自我鉴定
2013/10/31 职场文书
女大学生自我鉴定
2013/12/09 职场文书
企业统计员岗位职责
2013/12/13 职场文书
岗位职责风险点
2014/03/12 职场文书
给校长的建议书100字
2014/05/16 职场文书
乡镇党建工作汇报材料
2014/10/27 职场文书
幼儿园教师自荐书
2015/03/06 职场文书
学习商务礼仪心得体会
2016/01/22 职场文书
Nginx反爬虫策略,防止UA抓取网站
2021/03/31 Servers
Mysql排序的特性详情
2021/11/01 MySQL
灵能百分百第三季什么时候来?
2022/03/15 日漫