1.validate:(重点)基于jQuery的一款轻量级验证插件,内置丰富的验证规则,还有灵活的自定义规则接口,HTML、CSS与JS之间的低耦合能让您自由布局和丰富样式,支持input,select,textarea的验证。

1.1:Validate的作用:

内置验证规则:拥有必填、数字、Email、URL和信用卡号码等19类内置验证规则
自定义验证规则:可以很方便地自定义验证规则
简单强大的验证信息提示默认了验证信息提示,并提供自定义覆盖默认的提示信息的功能
实时验证:可能通过keyup或blur事件触发验证,而不仅仅在表单提交的时候证.

1.2:validate的默认校验规则

(1)、required:true 必需字段。
(2)、remote:“remote-valid.jsp” 使用ajax方法调用remote-valid.jsp验证输入值。
(3)、email:true 必须输入正确格式的电子邮件。
(4)、url:true 必须输入正确格式的网址。
(5)、date:true 必须输入正确格式的日期,日期校验ie6出错,慎用。
(6)、dateISO:true 必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22 只验证格式,不验证有效性。
(7)、number:true 必须输入合法的数字(负数,小数)。
(8)、digits:true 必须输入整数。
(9)、creditcard:true 必须输入合法的信用卡号。
(10)、equalTo:"#password" 输入值必须和#password相同。
(11)、accept: 输入拥有合法后缀名的字符串(上传文件的后缀)。
(12)、maxlength:5 输入长度最多是5的字符串(汉字算一个字符)。
(13)、minlength:10 输入长度最小是10的字符串(汉字算一个字符)。
(14)、rangelength:[5,10] 输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符)。
(15)、range:[5,10] 输入值必须介于 5 和 10 之间。
(16)、max:5 输入值不能大于5。
(17)、min:10 输入值不能小于10。
 

1.4:可以给表单添加自定义验证规则

语法:jQuery.validator.addMethod("验证规则名",function(验证的值){
			验证代码块;
			return boolean类型的结果;
	});

1.5:validate的使用步骤:

  • 第一步: 导入Jquery和validate的库文件
<script type="text/javascript" src="jquery-1.8.3.js"></script>
    <script type="text/javascript" src="validate.min.js"></script>
  • 第二步:页面加载成功后!对表单进行验证!
$("表单选择器").validate({
	rules:{
		表单元素的name名:{校验器:"值",校验器:"值"},
		表单元素的name名:{校验器:"值",校验器:"值"},
		......
	},
 	messages:{
		表单元素的name名:{校验器:"提示信息",校验器:"提示信息"},
		表单元素的name名:{校验器:"提示信息",校验器:"提示信息"},
		......
	}
});
  • 第三步:表单提交时触发校验
eg:<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>1.validate验证表单</title>
		<!--导入jquery库文件-->
		<script src="../js/jquery.min.js"></script>
		<!--导入validate插件-->
	<script src="http://static.runoob.com/assets/jquery-validation-1.14.0/dist/jquery.validate.min.js"></script>
		<script type="text/javascript">
			$(function(){
				//自定义手机号验证规则
				jQuery.validator.addMethod("isPhone",function(phonevalue){
					//声明手机号正则表达式
					var reg=/^1[3-9]\d{9}$/;
					var result=reg.test(phonevalue);
					return result;
				});
				
				
				//表单验证
				$("form").validate({
					rules:{
						uname:{required:true},
						pwd:{required:true,digits:true,rangelength:[3,6]},
						repwd:{required:true,equalTo:"#pwd"},
						email:{required:true,email:true},
						card:{required:true,creditcard:true},
						phone:{required:true,isPhone:true}
					},
					messages:{
						uname:{required:"用户名不能为空"},
						pwd:{required:"密码不能为空",digits:"密码必须为整数",
						rangelength:"密码长度必须为3到6位"},
						repwd:{required:"确认密码不能为空",equalTo:"确认密码与原密码不一致"},
						email:{required:"邮箱不能为空",email:"邮箱格式有误"},
						card:{required:"信用卡不能为空",creditcard:"信用卡号有误"},
						phone:{required:"手机不能为空",isPhone:"手机号格式有误"}
					}
				});
			});
		</script>
	</head>
	<body>
		<form method="get" action="">
			<table>
				<tr>
					<td>用户名:</td>
					<td><input type="text" name="uname" id="uname"/></td>
					<td id="uname1"></td>
				</tr>
				<tr>
					<td>密码:</td>
					<td><input type="password" name="pwd" id="pwd"/></td>
					<td id="pwd1"></td>
				</tr>
				<tr>
					<td>确认密码:</td>
					<td><input type="password" name="repwd" id="repwd"/></td>
					<td id="repwd"></td>
				</tr>
				<tr>
					<td>邮箱:</td>
					<td><input type="email" name="email" id="email"/></td>
					<td id="email1"></td>
				</tr>
				<tr>
					<td>信用卡号:</td>
					<td><input type="text" name="card" id="card"/></td>
					<td id="card1"></td>
				</tr>
				<tr>
					<td>手机号:</td>
					<td><input type="text" name="phone" id="phone"/></td>
					<td id="phone1"></td>
				</tr>
				<tr>
					<td></td>
					<td>
						<input type="submit" value="提交"/>
						<input type="reset" value="重置"/>
					</td>
					<td></td>
				</tr>
			</table>
		</form>
	</body>
</html>

表单验证的触发方式

一.onsubmit:

配置方式如下:

$(".selector").validate({undefined
onsubmit: false
})

默认值是true,表示点击submit提交按钮就会进行表单验证,所以最好不要将其修改为false。

二.onfocusout:

配置方式如下:
$(".selector").validate({undefined
onfocusout: false
})
默认值是true,表示当焦点离开当前表单元素就会对其进行验证。

三.onkeyup:

配置方式如下:
$(".selector").validate({undefined
onkeyup: false
})
默认值是true,表示当按键弹起时,就会对当前表单元素进行验证。

四.focusInvalid:

配置方式如下:
$(".selector").validate({undefined
focusInvalid: false
})
默认值是true,当验证无效时,焦点跳到第一个无效的表单元素。

五.focusCleanup:

配置方式如下:
$(".selector").validate({undefined
focusCleanup: true
})
默认值是false。

如果为true,当表单得到焦点时,移除在该表单上的errorClass并隐藏所有错误消息。