jquery.validate是一个基于jquery的非常优秀的验证框架,可以通过它迅速验证一些常见的输入,并且可以自己扩充自己的验证方法。

主要功能有:

验证url,email,number,length,require等。

默认校验规则:

(1)required:true               必输字段
(2)remote:"check.php"          使用ajax方法调用check.php验证输入值
(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:                 必须输入合法的信用卡号
(10)equalTo:"#field"           输入值必须和#field相同
(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

validate安装:

下载validation,官网地址 http://jqueryvalidation.org/ 获得最新版本的js文件。

导入js库:

Html结构例如

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery validation plug-in - main demo</title>
<script type="text/javascript" src="jquery-1.7.2.js">
</script>
<script type="text/javascript" src="jquery.validate.min.js">
</script>
<script type="text/javascript" src="base.js">
</script>
</head>
<body>
<h1>validate测试</h1>
<form method="get" action="" id="form1">
<p>
<label for="cname">
用户名
</label>
<input name="cname" type="text" class="required" minlength="2"/>
</p>
<p>
<label for="cemail">
E-Mail
</label>
<input type="email" name="cemail" class="required email"/>
</p>
<p>
<label for="curl">
URL
</label>
<input type="text" name="curl" class="url" />
</p>
<p>
<label for="password">
密码
</label>
<input type="password" id="password" name="password" />
</p>
<p>
<label for="confirm_password">
确认密码
</label>
<input type="password" name="confirm_password" />
</p>
<p>
<label for="ccomment">
自定义
</label>
<input type="text" name="comment" />
</p>
<p>
<input class="submit" type="submit" value="Submit"/>
</p>
</form>
</body>
</html>

将校验写在Js代码中:

例如

jQuery.extend(jQuery.validator.messages, {
required: "必选字段",
remote: "请修正该字段",
email: "请输入正确格式的电子邮件",
url: "请输入合法的网址",
date: "请输入合法的日期",
dateISO: "请输入合法的日期 (ISO).",
number: "请输入合法的数字",
digits: "只能输入整数",
creditcard: "请输入合法的信用卡号",
equalTo: "请再次输入相同的值",
accept: "请输入拥有合法后缀名的字符串",
maxlength: jQuery.validator.format("请输入一个 长度最多是 {0} 的字符串"),
minlength: jQuery.validator.format("请输入一个 长度最少是 {0} 的字符串"),
rangelength: jQuery.validator.format("请输入 一个长度介于 {0} 和 {1} 之间的字符串"),
range: jQuery.validator.format("请输入一个介于 {0} 和 {1} 之间的值"),
max: jQuery.validator.format("请输入一个最大为{0} 的值"),
min: jQuery.validator.format("请输入一个最小为{0} 的值")
});
//自定义校验规则
jQuery.validator.addMethod("mobileNum", function(value, element){
return this.optional(element) || /^((13[456789])|(15[012789])|(18[2378]))\d{8}$/.test(value);
});
$(function(){
$("#form1").validate({
errorElement: "span",// 使用"div"标签标记错误, 默认:"label"
wrapper: "div",// 使用"li"标签再把上边的errorELement包起来
errorClass: "validate-error",// 错误提示的css类名"error"
rules: {
cname: {// 需要进行验证的输入框name
required: true,// 验证条件:必填
minlength: 2// 验证条件:最小长度为2
},
cemail: {// 需要进行验证的输入框name
required: true,// 验证条件:必填
email: true// 验证条件:格式为email
},
curl: {// 需要进行验证的输入框name
required: true,// 验证条件:必填
url: true// 验证条件:格式为url
},
password: {
required: true,
minlength: 5
},
confirm_password: {
required: true,
minlength: 5,
equalTo: "#password"
},
comment: {
required: true,
number: true,
mobileNum: true
}
},
messages: {
cname: {
required: "用户名不允许为空!"// 验证未通过的消息
},
cemail: {
required: "地址不能为空",
email: "输入正确的url"
},
curl: {
required: "地址不能为空",
url: "输入正确的url"
},
password: {
required: "请输入密码",
minlength: "密码的最小长度是{0}个字符"
},
confirm_password: {
required: "请输入确认密码",
minlength: "确认密码的最小长度是{0}个字符",
equalTo: "确认密码与密码不相等"
},
comment: {
required: "不能为空!",
mobileNum: "输入数字不符合要求"
}
},
errorPlacement: function(error, element){
element.parent().append(error);
},
submitHandler: function(form){
form.submit();
},
success: function(error, element){
error.remove();
}
})
});

将校验规则写到控件中:

例如

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery validation plug-in - main demo</title>
<script type="text/javascript" src="jquery-1.7.2.js">
</script>
<script type="text/javascript" src="jquery.validate.min.js">
</script>
<script>
$(function(){
$("#form1").validate();
})
</script>
<script type="text/javascript" src="base.js">
</script>
</head>
<body>
<h1>validate测试</h1>
<form method="get" action="" id="form1">
<p>
<label for="cname">
用户名
</label>
<input name="cname" type="text" class="required" minlength="2"/>
</p>
<p>
<label for="cemail">
E-Mail
</label>
<input type="email" name="cemail" class="required email"/>
</p>
<p>
<label for="curl">
URL
</label>
<input type="text" name="curl" class="url" />
</p>
<p>
<label for="ccomment">
自定义
</label>
<input type="text" name="comment" />
</p>
<p>
<input class="submit" type="submit" value="Submit"/>
</p>
</form>
</body>
</html>

最新文章

  1. linux命令-系统命令
  2. iOS XCode启用/关闭Clang Warnings
  3. Core MIDI and Friends
  4. ES6 .Set数据结构去除重复元素
  5. [第三方]SDWebImage获取网络图片控件的用法
  6. 深入解析结构化异常处理(SEH)
  7. Mac OS 您需要安装旧 Java SE 6 运行环境才能打开“XXX” 问题
  8. c# tcp备忘及networkstream.length此流不支持查找解决
  9. Timer的性能优势
  10. 技术分享:逆向海盗船k95机械键盘
  11. 0环境设置 - SQLPLUS设置
  12. springMVC从上传的Excel文件中读取数据
  13. No Hibernate Session bound to thread, and configuration does not allow creat
  14. Linux安装完Tomcat后无法登陆管理界面
  15. Maven常用插件配置和使用
  16. 【数据结构与算法】一致性Hash算法及Java实践
  17. 对LCS算法及其变种的初步研究
  18. Android初级教程理论知识(第八章网络编程一)
  19. 阿里云Ubuntu下安装、配置权限和导入本地mongodb
  20. WTForms

热门文章

  1. 开发过程中遇到的代理Proxy配置问题
  2. linux上部署springboot应用的脚本
  3. js--javascript学习
  4. Android开发之JDK配置,及ADT下载
  5. 随机数模块random_python
  6. centos7安装启动firefox
  7. jqGrid colModel 参数(来自中文手册)
  8. NPOI _导出exl(简单应用)
  9. 在PDB级别中如何切换或重建UNDO表空间
  10. 2018-2019-20175334实验四《Android程序设计》实验报告