默认分类 2010-04-04 20:35:01 阅读123 评论0 字号:大中小
jquery.validate是jquery旗下的一个验证框架,借助jquery的优势,我们可以迅速验证一些常见的输入,并且可以自己扩充自己的验证方法,并且对国际化也有很好的支持。
说明:需要JQuery版本:1.2.6+
步骤:
1, 要导入相应的jQuery.js与jquery.validate.js文件
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.validate.js" type="text/javascript">
2, 在相应的字段上指定验证规则
名称 *<input type="text" name="loginName" class="required">
其中class="required"代表本字段必须要输入数据
3, 指定要对表单进行验证
<script type="text/javascript">
$(function(){
$("#testForm").validate();
});
</script>
效果如下图:
1. 基础知识
1.1. 指定验证规则的方式
1.1.1. 把验证规则写到字段元素的class属性中
例:
名称 * <input type="text" name="loginName" class="required"><br>
密 * <input type="password" name="password" class="required"><br>
再次输入 <input type="password" name="password2"
class="{equalTo: '[name=password]'} required"><br>
生日 <input type="text" name="birthday" class="dateISO"><br>
E-mail *<input type="text" name="email" class="email"><br>
PAR(zip)<input type="file" name="resource" class="{accept: 'zip'}">
说明:
1,如果使用class="{}"的方式,必须引入包:jquery.metadata.js
1.1.2. 调用validate()方法时传递字段的验证规则
$(function() {
$("#testForm").validate({
rules: {
loginName:{
required: true,
min: 2
} ,
password: {
required: true
},
password2: {
equalTo: "input[name=password]"
}
}
});
});
1.2. 内置的验证规则
required:true 必输字段
remote:"check.php" 使用ajax方法调用check.php验证输入值
email:true 必须输入正确格式的电子邮件
url:true 必须输入正确格式的网址
date:true 必须输入正确格式的日期
dateISO:true 必须输入正确格式的日期(ISO),例如:2010-01-01,2010/01/01 只验证格式,不验证有效性
number:true 必须输入合法的数字(负数,小数)
digits:true 必须输入整数
creditcard: 必须输入合法的信用卡号
equalTo:"#field" 输入值必须和#field相同
accept: "gif|png|jpg" 输入拥有合法后缀名的字符串(上传文件的后缀),多个后缀之间用’|’隔开
maxlength:5 输入长度最多是5的字符串(汉字算一个字符)
minlength:10 输入长度最小是10的字符串(汉字算一个字符)
rangelength:[5,10] 输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符)
range:[5,10] 输入值必须介于 5 和 10 之间
max:5 输入值不能大于5
min:10 输入值不能小于10
说明:
1, remote是远程验证:比如注册验证用户名是否已被注册,返回值只能是true(验证成功)或false(验证失败)。
2, 某些属性值中的引号不能省略,否则出错。如accept、equalTo等。
1.3. 自定义验证规则
除了内置的验证规则,validation还允许自定义验证规则。这是通过validation的addMethod()方法实现的,语法 为:
jQuery.validator.addMethod("name",function,message)
其中:
1, name为验证规则的名称
2, function定义验证的规则。参数有?。返回值为?。
3, message是验证失败时的提示信息。
1.4. 指定错误提示内容
1.4.1. 更改默认的提示内容
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} 的值")
扩展工具
stringMinLength: jQuery.validator.format("请输入一个小于{0} 的字符串, 一个中文字符长度为2”),
stringMaxLength: jQuery.validator.format("请输入一个大于} 的字符串, 一个中文字符长度为2”),
string: “含特殊符号!”,
byteRangeLength: "请确保输入的值在3-15个字节之间(一个中文字算2个字节)",
stringCH: "只能输入汉字,一个汉字占两具字节",
stringEN:”只能输入字母”
1.4.2. 个别表单改变提示内容(只对当前表单有效)
方法一:
<input type="file" name="parResource"
class="{accept: 'zip', messages: {accept:'请选择正确的文件'}}">
方法二:
$(function() {
$("#testForm").validate({
messages:{
loginName: {
required: "必选字段2"
},
email: {
required: '必选字段22',
email: "请输入正确格式的电子邮件2"
}
}
});
});
1.5. 改变错误消息显示样式
指定label.error的样式就可以了,如下:
<style type="text/css">
label.error{
margin-left: 10px;
color: red;
}
</style>
说明:label.error指class为error的label元素,如:<label for="resource" class="error">
这是汤阳光老师讲的,虽然这位老师很年轻,但是他的技术很高,以前学的知识很多,所以也有思路不清的地方,可是自从这位老师给我们讲课,我就感觉到他有一种对JAVA技术的灵性,无论是什么在他那里总能得到思想上的升华!真是佩服!
function DIYMethod(){
// 字符最小长度验证(一个中文字符长度为2)
jQuery.validator.addMethod("stringMinLength", function(value, element, param) {
var length = value.length;
for ( var i = 0; i < value.length; i++) {
if (value.charCodeAt(i) > 127) {
length++;
}
}
return this.optional(element) || (length >= param);
}, $.validator.format("长度不能小于{0}!"));
// 字符最大长度验证(一个中文字符长度为2)
jQuery.validator.addMethod("stringMaxLength", function(value, element, param) {
var length = value.length;
for ( var i = 0; i < value.length; i++) {
if (value.charCodeAt(i) > 127) {
length++;
}
}
return this.optional(element) || (length <= param);
}, $.validator.format("长度不能大于{0}!"));
// 字符验证
jQuery.validator.addMethod("string", function(value, element) {
return this.optional(element) || /^[\u0391-\uFFE5\w]+$/.test(value);
}, "不允许包含特殊符号!");
// 中文字两个字节
jQuery.validator.addMethod("byteRangeLength", function(value, element, param) {
var length = value.length;
for(var i = 0; i < value.length; i++){
if(value.charCodeAt(i) > 127){
length++;
}
}
return this.optional(element) || ( length >= param[0] && length <= param[1] );
}, "请确保输入的值在3-15个字节之间(一个中文字算2个字节)");
// 只能输入中文
jQuery.validator.addMethod("stringCH", function(value, element) {
var length = value.length;
for(var i = 0; i < value.length; i++){
if(value.charCodeAt(i) > 127){
length++;
}
}
return this.optional(element) || /[^u4E00-u9FA5]/g.test(value);
}, "只能输入汉字,一个汉字占两具字节");
// 只能输入26个字母
jQuery.validator.addMethod("stringEN", function(value, element) {
var length = value.length;
for(var i = 0; i < value.length; i++){
if(value.charCodeAt(i) > 127){
length++;
}
}
alert(length);
return this.optional(element) || /^[A-Za-z]+$/g.test(value);
}, "只能输入字母");
}
引用文章:
http://jingliankui123.iteye.com/blog/680128
分享到:
相关推荐
《jQuery基础自学笔记》 jQuery 是一款非常流行的 JavaScript 库,由 John Resig 在2006年创建,它的出现极大地简化了JavaScript的DOM操作、事件处理、动画设计以及Ajax交互。jQuery 的设计理念是“Write Less, Do ...
`jQuery Validate` 插件是实现这一功能的有力工具,它提供了一套便捷、可扩展的验证机制。下面将详细介绍`jQuery Validate`插件的使用方法、常见规则以及如何自定义验证规则。 首先,要使用`jQuery Validate`插件,...
除此之外,jQuery.Validate还具有扩展性强、易于使用和配置的特点。 在这份文档中,我们看到了如何创建一个通用的验证范例,使用了jQuery.Validate插件,并且包含了各种不同类型的验证方法。以下是一些关于文档中...
为了启用验证,我们首先需要在页面中引入 `jQuery` 库以及 `jQuery Validate` 插件的 JavaScript 文件。通常,这将包括引入 `jquery.js` 和 `jquery.validate.js`。 ```html <script src="path/to/jquery.js"> ...
### jQuery编程笔记知识点详解 #### 一、jQuery概述 1. **简介** - **定义**: jQuery是一款轻量级的JavaScript库,旨在简化HTML文档的操作、事件处理、动画及Ajax交互。 - **特点**: - **轻量化**: 减少...
7. **插件扩展**: jQuery生态系统中有大量的插件,如用于图像轮播的`jQuery.cycle()`,表单验证的`jQuery.validate()`等,它们极大地丰富了jQuery的功能。 8. **兼容性与性能**: jQuery对浏览器的兼容性非常好,...
### jQuery验证框架学习笔记知识点概览 #### 一、引言 jQuery 验证框架是基于 jQuery 开发的一个用于前端表单验证的强大插件。它提供了丰富的验证规则和灵活的配置选项,使得开发者能够轻松地实现对用户输入数据的...
本学习笔记将深入探讨jQuery的核心概念、常用函数和实用技巧,帮助开发者快速掌握并应用jQuery。 一、jQuery核心概念 1. 选择器:jQuery的核心在于强大的选择器功能,它允许开发者通过CSS样式选择器来选取DOM元素...
**表单验证** 是 Web 开发中常见的任务之一,jQuery 提供了 `validate` 插件来简化这一过程。使用该插件,可以通过简单的配置来实现复杂的表单验证逻辑。 - **引入 jQuery validate 插件**: ```html ...
**jQuery学习笔记** jQuery是一个广泛使用的JavaScript库,它极大地简化了HTML文档遍历、事件处理、动画设计和Ajax交互。由于其简洁的API和强大的功能,jQuery成为了前端开发中的首选工具之一。 ### 1. jQuery核心...
《jQuery笔记1——深入理解与应用》 在前端开发领域,jQuery是一个不可或缺的JavaScript库,它极大地简化了DOM操作、事件处理、动画效果以及Ajax交互等任务。本篇笔记将围绕jQuery的核心概念、常用方法以及在实际...
validateForm(); // 验证整个表单 }); ``` **3. 验证函数** 编写验证函数是核心部分。例如,我们可以检查输入是否为空,长度是否符合要求,或者格式是否正确(如邮箱、电话号码)。以下是一个简单的非空验证示例...
3. **jQuery学习笔记**:JQuery学习笔记.doc包含了作者在学习过程中的心得和实践案例,是理论与实际相结合的学习材料,有助于加深理解和记忆。 4. **jQuery技巧大放送**:jQuery技巧大放送.doc收录了一系列实用的...
比如,可以使用`jQuery.validate`插件进行表单验证,或者使用`Countdown`插件实现答题时间限制。插件通常封装了一些常见需求,让开发者能快速实现特定功能。 总结,这个“jQuery在线考试答题代码”是一个实践性的...
例如,一个常用的表单验证插件validate,不仅需要引入基本的validate插件文件,还可以引入不同语言包,如messages_zh.js,来支持中文等语言的验证提示信息。通过这种方式,开发者可以快速地为Web项目添加各种功能,...
**jQuery:jQuery相关-学习代码和笔记** jQuery是一款强大的JavaScript库,它简化了HTML文档遍历、事件处理、动画制作和Ajax交互等任务。自2006年发布以来,jQuery已经成为前端开发中最广泛使用的库之一,极大地...
4. **插件支持**:jQuery拥有丰富的插件库,如用于表单验证的`validate()`, 用于滚动效果的`slimScroll`等。在购物车结算中,可以利用这些插件实现更复杂的功能,如自动计算折扣、显示满减提示等。 5. **响应式设计...
这个实例代码不仅展示了如何使用jQuery进行表单美化,还可能涉及到一些常见的jQuery插件,如`validate`插件用于表单验证,`uniform`插件用于统一表单元素样式,或者`ajaxForm`插件实现异步表单提交。这些插件通过...