JQuery -- Validate, Jquery 表单校验
1. Jquery 表单验证需要插件
jQuery validation 1.7 ---验证插件需要:jQuery 1.3.2
或 1.4.2版本
http://jquery.bassistance.de/validate/jquery.validate.zip
首页: http://bassistance.de/jquery-plugins/jquery-plugin-validation/
调用jquery.validate({});方法进行验证
$("#empForm").validate({
* //自定义验证规则
* //自定义提示信息
})
自定义校验规则可以通过自定义检验函数的方式新增加校验规则
步骤如下:
1. 在定义校验规则之前定义一个新的方法
2. 在rules中指定某个域使用此校验规则
3. 在messages中指定这个域使用此校验规则没有通过的提示信息
示例代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery validation plug-in - main demo</title>
<link rel="stylesheet" type="text/css" media="screen" href="css/screen.css" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.validate.js"></script> <script type="text/javascript">
/*********************************************************************************************************/
/*
* 自定义验证方法
* $.validator.addMethod(name,method,message);
* * $.validator.addMethod()是固定写法
* * name:添加的方法的名字
* * method:一个函数,function(value,element,param){}
* * value:对应页面中元素的value属性值
* * element:对应页面中的元素
* * param:参数
* * message:错误提示信息
*/
$.validator.addMethod("cartLength",function(value,element,param){
var len = value.length; if(len!=15&&len!=18){
return false;
} return true; }); $.validator.addMethod("cartCheck",function(value,element,param){
var len = value.length; var flag; if(len==15){
var pattern = /^[0-9]{15}$/; flag = pattern.test(value);
} if(len==18){
var pattern = /^[0-9]{18}|[0-9]{17}x$/; flag = pattern.test(value);
} if(!flag){
return false;
} return true; }); /*********************************************************************************************************/ // validate signup form on keyup and submit
/*
* validate()方法:
* * 验证表单,实际上调用就是validate()方法
* * validate()方法传入一个json格式数据
* * rules:表单验证里的验证规则
* * key:对应的是页面中表单的name属性值
* * value:对应的验证规则
* * required:验证是否为空
* * minlength:验证最小长度
* * equalTo:对比指定标签的内容是否一致,"#id"
* * email:验证email地址是否正确
* rules:{
* key:value
* },
* * messages:表单验证里的错误提示信息
* * key:对应的是页面中表单的name属性值
* * value:错误提示信息
*
* messages:{
* key:value
* }
*/ $().ready(function(){ $("#empForm").validate({
rules:{
realname:"required",
username:{
required:true,
rangelength:[5,8]
},
psw:{
required:true,
rangelength:[6,12]
},
psw2:{
required:true,
rangelength:[6,12],
equalTo:"#psw"
},
gender:"required",
age:{
required:true,
range:[26,50]
},
edu:"required",
birthday:{
required:true,
dateISO:"yyyy/MM/dd"
},
checkbox1:"required",
email:{
required:true,
email:"true"
},
cart:{
required:true,
cartLength:true,
cartCheck:true
}
},
messages:{
realname:"真是名称不能为空",
username:{
required:"登录名不能为空",
rangelength:"登录名的长度应该在5至8之间"
},
psw:{
required:"密码不能为空",
rangelength:"密码的长度应该在6至12之间"
},
psw2:{
required:"密码不能为空",
rangelength:"密码的长度应该在6至12之间",
equalTo:"两次密码输入不一致"
},
gender:"你没有第三种选择", //如果在页面中设置其对应的label标签进行提示,在验证规则的信息提示中可以不设置相关内容
age:{
required:"年龄不能为空",
range:"年龄必须在26至50之间"
},
edu:"至少要选择一个学历",
birthday:{
required:"出生日期不能为空",
dateISO:"出生日期格式不正确"
},
email:{
required:"email不能为空",
email:"email地址的格式不正确"
},
cart:{
required:"身份证号码不能为空",
cartLength:"身份证号码长度不正确",
cartCheck:"身份证号码的格式不正确"
}
}
}); }); </script>
</head>
<body>
<p>员工信息录入</p>
<form name="empForm" id="empForm" method="post" action="test.html">
<table border=1>
<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="psw" name="psw" style="width:120px" /></td>
</tr>
<tr>
<td>重复密码(不能为空,长度6-12字符或数字,不能包含中文字符):</td>
<td><input type="password" id="psw2" name="psw2" style="width:120px" /></td>
</tr>
<!--
默认错误提示信息,在放置在页面的表单中第一个控件后面
<label style="display: none" for="gender" class="error">请选择性别</label>
* for:值对应的是页面表单中name属性的值
* class:设置样式,设置"error"样式
* style:"display: none",设置成隐藏 * 在jquery表单验证框架运行时,原理如下:
* 首先,表单验证框架会在页面中查找对应的label标签
* 在页面中查找对应label标签,错误提示信息就提示页面中label标签内的文本信息
* 在页面中没有找到对应label标签,就通过验证框架底层创建一个label标签进行错误信息的提示 errorClass: "error",
validClass: "valid",
errorElement: "label", label = $("<" + this.settings.errorElement + "/>") //<label></label>
.attr({"for": this.idOrName(element), generated: true})//<label for="gender"></label>
.addClass(this.settings.errorClass) //<label for="gender" class="error"></label>
.html(message || ""); //<label for="gender" class="error">错误提示信息</label> -->
<tr>
<td>性别(必选其一)</td>
<td>
<input type="radio" id="gender_male" value="m" name="gender"/>男
<input type="radio" id="gender_female" value="f" name="gender"/>女
<label style="display: none" for="gender" class="error">请选择性别</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>出生日期(1982/09/21):</td>
<td><input type="text" id="birthday" name="birthday" style="width:120px" value="" /></td>
</tr> <tr>
<td>兴趣爱好:</td>
<td colspan="2">
<input type="checkbox" name="checkbox1" id="qq1"/>乒乓球
<input type="checkbox" name="checkbox1" id="qq2" value="1" />羽毛球
<input type="checkbox" name="checkbox1" id="qq3" value="2" />上网
<input type="checkbox" name="checkbox1" id="qq4" value="3" />旅游
<input type="checkbox" name="checkbox1" id="qq5" value="4" />购物
<label style="display: none" for="checkbox1" class="error">您的兴趣爱好,至少选择一个</label>
</td>
</tr>
<tr>
<td align="left">电子邮箱:</td>
<td><input type="text" id="email" style="width:120px" name="email" /></td>
</tr>
<tr>
<td align="left">身份证(15-18):</td>
<td><input type="text" id="cart" style="width:200px" name="cart" /></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type="submit" name="firstname" id="firstname" value="保存"></td>
</tr>
</table> </form>
<script language="JavaScript"> </script> </body>
</html>
JQuery -- Validate, Jquery 表单校验的更多相关文章
- Jquery.validate.js表单验证插件的使用
作为一个网站web开发人员,以前居然不知道还有表单验证这样好呀的插件,还在一行行写表单验证,真是后悔没能早点知道他们的存在. 最近公司不忙,自己学习一些东西的时候,发现了validation的一个实例 ...
- 基于Jquery Validate 的表单验证
基于Jquery Validate 的表单验证 jquery.validate.js是jquery下的一个验证插件,运用此插件我们可以很便捷的对表单元素进行格式验证. 在讲述基于Jquery Vali ...
- 异步提交form的时候利用jQuery validate实现表单验证
异步提交form的时候利用jQuery validate实现表单验证相信很多人都用过jquery validate插件,非常好用,并且可以通过下面的语句来自定义验证规则 // 电话号码验证 ...
- 基于Bootstrap+jQuery.validate Form表单验证实践
基于Bootstrap jQuery.validate Form表单验证实践 项目结构 : github 上源码地址:https://github.com/starzou/front-end- ...
- jQuery.validate.js表单验证插件
jQuery.validate.js表单验证插件的使用 效果: 代码: <!DOCTYPE html> <html lang="en"> <head& ...
- jquery.validate.js表单验证
一.用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassist ...
- jquery validate.js表单验证的基本用法入门
这里转载一篇前辈写的文章,在我自己的理解上修改了一下,仅作记录. 先贴一个国内某大公司的代码: 复制代码 代码如下: <script type="text/javascript&quo ...
- 【转】jquery.validate.js表单验证
一.用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassist ...
- [转]jquery.validate.js表单验证
原文地址:https://www.cnblogs.com/si-shaohua/p/3780321.html 一.用前必备官方网站:http://bassistance.de/jquery-plugi ...
- 转:jquery validate.js表单验证
这里转载一篇前辈写的文章,在我自己的理解上修改了一下,仅作记录. 先贴一个国内某大公司的代码: 复制代码代码如下: <script type="text/javascript" ...
随机推荐
- iOS 苹果官方 Crash文件分析方法 (iOS系统Crash文件分析方法)
时间2013-08-20 12:49:20 GoWhich原文 http://www.gowhich.com/blog/view/id/343 苹果官方 Crash文件分析方法 (iOS系统Cras ...
- python框架Scrapy报错TypeError: 'float' object is not iterable解决
原因是:Twisted版本高了. 解决办法: 只要把Twisted库降级到16.6.0即可: pip3 install Twisted== 注:Twisted16..0安装后,会自动卸载高版本的Twi ...
- 《挑战程序设计竞赛》2.6 数学问题-辗转相除法 AOJ0005 POJ2429 1930(1)
AOJ0005 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0005 题意 给定两个数,求其最大公约数GCD以及最小公倍数LCM. ...
- Blog上一页和下一页的功能
博客上一页和下一页的功能 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- Python菜鸟之路:Django 分页
Django的分页没有多少需要说的,有一点需要关注,在自定制分页功能的时候,需要通过python代码来生成每一页的a标签链接,这个时候需要关注一点:默认情况下,为了安全考虑,防范XSS攻击,Djang ...
- mongoose学习
#mongoose的使用详解# ##1.Scheme.model和Entity## Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力 Model : 由Schema发布生成 ...
- C#中的另类语法
一..net中return的另类写法: 不知道是从3.5还是从4.0开始C#语法中的return有了新的写法示例如下: public string functionDemo() { str ...
- Java并发—原子类,java.util.concurrent.atomic包(转载)
原子类 Java从JDK 1.5开始提供了java.util.concurrent.atomic包(以下简称Atomic包),这个包中 的原子操作类提供了一种用法简单.性能高效.线程安全地更新一个变量 ...
- HDU1081:To The Max(最大子矩阵,线性DP)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1081 自己真够垃圾的,明明做过一维的这种题,但遇到二维的这种题目,竟然不会了,我也是服了(ps:猪啊). ...
- PHP 数组教程 定义数组
数组array是一组有序的变量,其中每个变量被叫做一个元素. 一.定义数组 可以用 array() 语言结构来新建一个数组.它接受一定数量用逗号分隔的 key => value 参数对. a ...