经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » jQuery » 查看文章
jQuery中使用validate插件校验表单功能
来源:jb51  时间:2019/5/24 11:37:00  对本文有异议

一.功能效果

在这里插入图片描述

二.部分特殊规则

2.1 错误信息位置更改

在表单某选项中增加代码

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

例如 : 性别必选

  1. <td>
  2. <input type="radio" id="male" value="m" name="sex"/>
  3. <input type="radio" id="female" value="f" name="sex"/>
  4. <!--这里设置表单校验错误信息的显示位置-->
  5. <label class="error" for="sex"></label>
  6. </td>

2.2 身份证验证

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

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

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

  1. $("#empForm").validate({
  2. rules: {
  3. idcard: {
  4. card: true
  5. }
  6. },
  7. messages: {
  8. idcard: {
  9. card: "请输入有效身份证号"
  10. }
  11. }
  12. });

2.3 手机号验证

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

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

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

  1. $("#empForm").validate({
  2. rules: {
  3. phone: {
  4. phone: true
  5. }
  6. },
  7. messages: {
  8. phone: {
  9. phone: "请输入有效身份证号"
  10. }
  11. }
  12. });

在这里插入图片描述

三.整体代码

  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  4. <title>我的jquery表单校验页面</title>
  5. <style type="text/css">
  6. h1 {
  7. text-align: center;
  8. }
  9. table {
  10. width: 80%;
  11. margin: 0 auto;
  12. border-collapse: collapse;
  13. }
  14. td {
  15. padding: 10px 14px;
  16. border: 1px solid #999;
  17. }
  18. .error {
  19. color: red;
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. <h1>员工信息录入</h1>
  25. <form name="empForm" id="empForm" method="get" action="#">
  26. <table>
  27. <tr>
  28. <td>真实姓名(不能为空 ,没有其他要求)</td>
  29. <td><input type="text" id="realname" name="realname"/>
  30. </td>
  31. </tr>
  32. <tr>
  33. <td>登录名(登录名不能为空,长度应该在5-8之间:</td>
  34. <td><input type="text" id="username" name="username"/></td>
  35. </tr>
  36. <tr>
  37. <td>密码(不能为空,长度6-12之间):</td>
  38. <td><input type="password" id="pwd" name="pwd"/></td>
  39. </tr>
  40. <tr>
  41. <td>重复密码密码(不能为空,长度6-12之间):</td>
  42. <td><input type="password" id="pwd2" name="pwd2"/></td>
  43. </tr>
  44. <tr>
  45. <td>性别(必选其一)</td>
  46. <td>
  47. <input type="radio" id="male" value="m" name="sex"/>
  48. <input type="radio" id="female" value="f" name="sex"/>
  49. <!--这里设置表单校验错误信息的显示位置-->
  50. <label class="error" for="sex"></label>
  51. </td>
  52. </tr>
  53. <tr>
  54. <td>年龄(必填26-50):</td>
  55. <td><input type="text" id="age" name="age"/></td>
  56. </tr>
  57. <tr>
  58. <td>你的学历:</td>
  59. <td>
  60. <select name="edu" id="edu">
  61. <option value="">-请选择你的学历-</option>
  62. <option value="a">专科</option>
  63. <option value="b">本科</option>
  64. <option value="c">研究生</option>
  65. <option value="e">硕士</option>
  66. <option value="d">博士</option>
  67. </select>
  68. </td>
  69. </tr>
  70. <tr>
  71. <td>兴趣爱好:</td>
  72. <td colspan="2">
  73. <input type="checkbox" name="hobby" id="pp" value="0"/>乒乓球
  74. <input type="checkbox" name="hobby" id="ym" value="1"/>羽毛球
  75. <input type="checkbox" name="hobby" id="sw" value="2"/>上网
  76. <input type="checkbox" name="hobby" id="ly" value="3"/>旅游
  77. <input type="checkbox" name="hobby" id="gw" value="4"/>购物
  78. </td>
  79. </tr>
  80. <tr>
  81. <td align="left">电子邮箱(格式正确):</td>
  82. <td><input type="text" id="email" name="email"/></td>
  83. </tr>
  84. <tr>
  85. <td align="left">身份证(15-18,格式正确):</td>
  86. <td><input type="text" id="idcard" name="idcard"/></td>
  87. </tr>
  88. <tr>
  89. <td align="left">手机号(格式正确):</td>
  90. <td><input type="text" id="phone" name="phone"/></td>
  91. </tr>
  92. <tr>
  93. <td></td>
  94. <td><input type="submit" id="smtBtn" value="保存"></td>
  95. </tr>
  96. </table>
  97. </form>
  98. <script src="./js/jquery-3.3.1.min.js"></script>
  99. <script src="./js/jquery.validate.min.js"></script>
  100. <script>
  101. /*页面加载完成后,开启表单验证的功能,这样每输入一个就会及时校验一个*/
  102. $().ready(function () {
  103. /*校验表单项*/
  104. $("#empForm").validate({
  105. rules: {
  106. realname: {
  107. required: true
  108. },
  109. username: {
  110. required: true,
  111. rangelength: [5, 8]
  112. },
  113. pwd: {
  114. required: true,
  115. rangelength: [6, 12]
  116. },
  117. pwd2: {
  118. required: true,
  119. rangelength: [6, 12],
  120. /*重复密码需要与原密码相同的要求*/
  121. equalTo: "#pwd"
  122. },
  123. sex: {
  124. required: true
  125. },
  126. age: {
  127. required: true,
  128. range: [26, 50]
  129. },
  130. email: {
  131. email: true
  132. },
  133. idcard: {
  134. card: true
  135. },
  136. phone: {
  137. phone: true
  138. }
  139. },
  140. messages: {
  141. realname: {
  142. required: "真实姓名不能为空"
  143. },
  144. username: {
  145. required: "登录名不能为空",
  146. rangelength: "登录名长度要在5-8位之间"
  147. },
  148. pwd: {
  149. required: "密码不能为空",
  150. rangelength: "密码长度在6-12位之间"
  151. },
  152. pwd2: {
  153. required: "重复密码不能为空",
  154. rangelength: "重复密码长度在6-12位之间",
  155. equalTo: "重复密码与密码不一致"
  156. },
  157. sex: {
  158. required: "请选择性别"
  159. },
  160. age: {
  161. required: "年龄不能为空",
  162. range: "年龄必须在26-50岁之间"
  163. },
  164. email: {
  165. email: "请输入有效邮箱"
  166. },
  167. idcard: {
  168. card: "请输入有效身份证号"
  169. },
  170. phone: {
  171. phone: "请输入有效手机号"
  172. }
  173. }
  174. });
  175. });
  176. /*身份证格式验证*/
  177. $.validator.addMethod("card", function (value, element, params) {
  178. var reg = /^\d{15}(\d{2}[\dX])?$/i;
  179. return reg.test(value);
  180. }, "idcard error");
  181. /*手机号格式验证*/
  182. $.validator.addMethod("phone", function (value, element, params) {
  183. var reg = /^1[34578]\d{9}$/;
  184. return reg.test(value);
  185. }, "phone error");
  186. </script>
  187. </body>
  188. </html>

四.validate表单校验常用规则

在这里插入图片描述

总结

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

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号