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+ajax实现省市区三级联动 (封装和不封装两种方式)
May 15 jQuery
jQuery实现的页面遮罩层功能示例【测试可用】
Oct 14 jQuery
jQuery中库的引用方法
Jan 06 jQuery
手写简单的jQuery雪花飘落效果实例
Apr 22 jQuery
jQuery实现图片上传预览效果功能完整实例【测试可用】
May 28 jQuery
jQuery实现表格隔行换色
Sep 01 jQuery
JQuery特殊效果和链式调用操作示例
May 13 jQuery
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
Jul 03 jQuery
JavaScript前端页面搜索功能案例【基于jQuery】
Jul 10 jQuery
JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】
Sep 03 jQuery
JQuery获得内容和属性方法解析
May 30 jQuery
jQuery treeview树形结构应用
Mar 24 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将textarea数据提交到mysql出现很多空格的解决方法
2014/12/19 PHP
php上传图片生成缩略图(GD库)
2016/01/06 PHP
PHP 实现公历日期与农历日期的互转换
2017/09/13 PHP
PHP进阶学习之命名空间基本用法分析
2019/06/18 PHP
一些技巧性实用js代码小结
2009/10/14 Javascript
functional继承模式 摘自javascript:the good parts
2011/06/20 Javascript
idTabs基于JQuery的根据URL参数选择Tab插件
2012/04/11 Javascript
javascript几个易错点记录
2014/11/26 Javascript
js实现千分符和保留几位小数的简单实例
2016/08/01 Javascript
前端js实现文件的断点续传 后端PHP文件接收
2016/10/14 Javascript
Three.js的使用及绘制基础3D图形详解
2017/04/27 Javascript
Vue的轮播图组件实现方法
2018/03/03 Javascript
如何为vuex实现带参数的 getter和state.commit
2019/01/04 Javascript
详解从react转职到vue开发的项目准备
2019/01/14 Javascript
Vuex的actions属性的具体使用
2019/04/14 Javascript
Vue实现点击导航栏当前标签后变色功能
2020/08/19 Javascript
JavaScript arguments.callee作用及替换方案详解
2020/09/02 Javascript
vue等两个接口都返回结果再执行下一步的实例
2020/09/08 Javascript
python静态方法实例
2015/01/14 Python
Python3 filecmp模块测试比较文件原理解析
2020/03/23 Python
python 实现rolling和apply函数的向下取值操作
2020/06/08 Python
python实现b站直播自动发送弹幕功能
2021/02/20 Python
施华洛世奇澳大利亚官网:SWAROVSKI澳大利亚
2017/01/06 全球购物
京东港澳售:京东直邮港澳台
2018/01/31 全球购物
Square Off美国/加拿大:世界上最聪明的国际象棋棋盘
2018/12/06 全球购物
英国床垫和床架购物网站:Bedman
2019/11/04 全球购物
eharmony澳大利亚:网上约会服务
2020/02/29 全球购物
大学新生军训感言
2014/02/25 职场文书
乡镇消防工作实施方案
2014/03/27 职场文书
工作求职自荐信
2014/06/13 职场文书
2014年全国爱牙日宣传活动方案
2014/09/21 职场文书
活着观后感
2015/06/03 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书
使用pipenv管理python虚拟环境的全过程
2021/09/25 Python
MySQL数据库超时设置配置的方法实例
2021/10/15 MySQL
Go语言安装并操作redis的go-redis库
2022/04/14 Golang