一.功能效果
二.部分特殊规则
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: "请输入有效身份证号" } }});
三.整体代码
<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插件校验表单功能 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
新闻热点
疑难解答