jquery 之validate 笔记

默认分类 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);
}, "只能输入字母");
}

jquery 之validate 笔记,布布扣,bubuko.com

时间: 2024-08-07 11:31:47

jquery 之validate 笔记的相关文章

jQuery插件学习笔记

最近在研究jQuery插件,插件编写的目的是给已经有的一系列方法或函数做一个封装,以便在其他地方重复使用,方便后期维护. JQuery除了提供一个简单.有效的方式进行管理元素以及脚本,它还还提供了例外一种机制:即给核心模块增加自己的方法和额外的功能.通过这种机制,Jquery允许我们自己创建属于我们自己的插件,提高我们在开发过程中的效率. 虽然在jQuery命名空间中,我们禁止使用了大量的javaScript函数名和变量名.但是仍然不可避免某些函数或变量名将于其他jQuery插件冲突,因此我们习

jQuery的简单笔记

html css javaScript Ajax jQuery Java servlet jsp jdbc mysql oracle struts spring hibernate jdpm tomcat jUnit Ant Hadoop linux unix android sql server jQuery的简单笔记//使用JQuery输出    /*     * jquery对象:需要用"$"来修饰     *      * jquery获取页面标签:$()来包裹,通过"

jquery插件-validate

1.引入js,css 下载地址:http://plugins.jquery.com/validate/ 2.设置验证规则:input的class添加以下属性 3.设置不符合规则的提示信息:添加data-msg-xxx(xxx为以下属性)               required: "必选字段",         remote: "请修正该字段",         email: "请输入正确格式的电子邮件",         url: &quo

基于jQuery的Validate表单验证

表单验证可以说在前端开发工作中是无处不在的~ 有数据,有登录,有表单, 都需要前端验证~~  而我工作中用到最多的就是基于基于jQuery的Validate表单验证~  就向下面这样~ 因为今天有个朋友问我要一个表单的验证,所以我就稍微整理了一下~  基本上有了这个表单验证插件,基本上一些常用的验证都可以搞定了~ 如果搞不定,没关系,我们还可以基于Validate来写一个自己的验证插件, 我把它取名为message_zh.js,我们可以在里面扩展自己需要的验证~~ 既然Validate是基于jQ

JQuery 【validate】缓存

[第一次] 与 [第二次] 检验值相同时,强制再次进行校验~ if($.data(document.getElementById("userName"), "previousValue")) { $.data(document.getElementById("userName"), "previousValue").old = null; } JQuery [validate]缓存

jquery.extend 学习笔记

//// jquery.extend 学习笔记// jquery.extend 扩展方法设计的很巧妙,动态增加静态方法和属性 // 虽然网上资料很多,还是跟据自已的学习理解记录一下.// //定义一个Person构造函数function Person(iname,iage){ this.uname = iname; this.age = iage;} //定义原型方法Person.prototype = { showN:function(){ //调用静态方法 Person.showName(t

jQuery的validate验证插件使用方法

(1)默认校验规则(1)required:true 必输字段(2)remote:"check.php" 使用ajax方法调用check.php验证输入值(3)email:true 必须输入正确格式的电子邮件(4)url:true 必须输入正确格式的网址(5)date:true 必须输入正确格式的日期(6)dateISO:true 必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22 只验证格式,不验证有效性(7)number:true 必须输入合法的数字(

jQuery 基础学习笔记总结(一)

Jquery 学习笔记 总结 感想: 此前在做站点时用到过jquery相关,特别是Ajax相关技术.但是并没有系统的进行学习和了解Jquery的强大的功能,趁这几天跟着资料基本的了解下Jquery的特性和插件,感觉原来好多前端设计中感觉非常麻烦的东西.通过Jquery的函数和插件都非常easy的实现了而且效果极佳.这里仅仅是简单的介绍下Jquery有哪些知识点. 1.基础选择器 (1). $("button").attr("disabled","true&

jquery 源码笔记:

1.使用了jquery,但是觉得了解 jquery的源码才能 更容易知道怎么使用,所以在网上找了一些 jquery的源码 笔记 还有看了 妙味课堂 的 一部分视频,现在写一些总结. 一.  jquery的 总体架构: 1.jquery 有良好的对外接口,  window.jQuery = window.$ = jQuery; 现在 是 通过jquery 2.0.3 源码的分析: (21,94)  21—94行, 定义了一些变量和函数,   jQuery = function(); (96,283