jQuery校验

官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation

一导入js库

<script src="../js/jquery.js"type="text/javascript"></script>
< script src="../js/jquery.validate.js"type="text/javascript"></script>

二、默认校验规则

(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

三、默认的提示

messages: {
required:"This field is required.",
remote:"Please fix this field.",
email:"Please enter a valid email address.",
url: "Pleaseenter a valid URL.",
date:"Please enter a valid date.",
dateISO:"Please enter a valid date (ISO).",
dateDE:"Bitte geben Sie ein g眉ltiges Datum ein.",
number:"Please enter a valid number.",
numberDE:"Bitte geben Sie eine Nummer ein.",
digits:"Please enter only digits",
creditcard:"Please enter a valid credit card number.",
equalTo:"Please enter the same value again.",
accept:"Please enter a value with a valid extension.",
maxlength:$.validator.format("Please enter no more than {0}characters."),
minlength:$.validator.format("Please enter at least {0} characters."),
rangelength:$.validator.format("Please enter a value between {0} and {1}characters long."),
range:$.validator.format("Please enter a value between {0} and{1}."),
max:$.validator.format("Please enter a value less than or equal to{0}."),
min:$.validator.format("Please enter a value greater than or equal to{0}.")
},

如需要修改,可在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} 的值")
});

推荐做法,将此文件放入messages_cn.js中,在页面中引入
<script src="../js/messages_cn.js"type="text/javascript"></script>

四、使用方式

1.将校验规则写到控件中

<scriptsrc="../js/jquery.js"type="text/javascript"></script>
< script src="../js/jquery.validate.js"type="text/javascript"></script>
< script src="./js/jquery.metadata.js"type="text/javascript"></script>

$().ready(function() {
$("#signupForm").validate();
});

< form id="signupForm" method="get"action="">
<p>
<labelfor="firstname">Firstname</label>
<input id="firstname" name="firstname"class="required" />
</p>
<p>
<labelfor="email">E-Mail</label>
<inputid="email" name="email" class="required email"/>
</p>
<p>
<labelfor="password">Password</label>
<inputid="password" name="password" type="password"class="{required:true,minlength:5}" />
</p>
<p>
<labelfor="confirm_password">确认密码</label>
<inputid="confirm_password" name="confirm_password" type="password"class="{required:true,minlength:5,equalTo:'#password'}"/>
</p>
<p>
<input class="submit" type="submit"value="Submit"/>
</p>
< /form>

使用class="{}"的方式,必须引入包:jquery.metadata.js

可以使用如下的方法,修改提示内容:
class="{required:true,minlength:5,messages:{required:'请输入内容'}}"

在使用equalTo关键字时,后面的内容必须加上引号,如下代码:
class="{required:true,minlength:5,equalTo:'#password'}"

2.将校验规则写到js代码中

$().ready(function() {
$("#signupForm").validate({
rules: {
firstname:"required",
email:{
required:true,
email:true
},
password:{
required:true,
minlength:5
},
confirm_password:{
required:true,
minlength:5,
equalTo:"#password"
}
},
messages: {
firstname:"请输入姓名",
email:{
required:"请输入Email地址",
email:"请输入正确的email地址"
},
password:{
required:"请输入密码",
minlength:jQuery.format("密码不能小于{0}个字 符")
},
confirm_password:{
required:"请输入确认密码",
minlength:"确认密码不能小于5个字符",
equalTo:"两次输入密码不一致不一致"
}
}
});
});

//messages处,如果某个控件没有message,将调用默认的信息

<form id="signupForm" method="get"action="">
<p>
<labelfor="firstname">Firstname</label>
<input id="firstname" name="firstname"/>
</p>
<p>
<labelfor="email">E-Mail</label>
<inputid="email" name="email" />
</p>
<p>
<labelfor="password">Password</label>
<inputid="password" name="password" type="password"/>
</p>
<p>
<labelfor="confirm_password">确认密码</label>
<inputid="confirm_password" name="confirm_password" type="password"/>
</p>
<p>
<input class="submit" type="submit"value="Submit"/>
</p>
< /form>

required:true必须有值
required:"#aa:checked"表达式的值为真,则需要验证
required:function(){}返回为真,表时需要验证
后边两种常用于,表单中需要同时填或不填的元素

jQuery校验validate详解(转)的更多相关文章

  1. jquery的css详解(二)

    jq的工具方法style用于设置样式,jq的实例方法css在设置样式时就是调用的它,接下来分析一下源码. jQuery.extend({ ............................ st ...

  2. jQuery.attr() 函数详解

    一,jQuery.attr()  函数详解: http://www.365mini.com/page/jquery-attr.htm 二,jQuery函数attr()和prop()的区别: http: ...

  3. jQuery 事件用法详解

    jQuery 事件用法详解 目录 简介 实现原理 事件操作 绑定事件 解除事件 触发事件 事件委托 事件操作进阶 阻止默认事件 阻止事件传播 阻止事件向后执行 命名空间 自定义事件 事件队列 jque ...

  4. jQuery.ready() 函数详解

    jQuery.ready() 函数详解 ready()函数用于在当前文档结构载入完毕后立即执行指定的函数. 该函数的作用相当于window.onload事件. 你可以多次调用该函数,从而绑定多个函数, ...

  5. jquery inArray()函数详解

    jquery inarray()函数详解 jquery.inarray(value,array)确定第一个参数在数组中的位置(如果没有找到则返回 -1 ). determine the index o ...

  6. jQuery extend方法详解

    先说个概念的东西: jQuery为开发插件提拱了两个方法,分别是: $.fn.extend(item):为每一个实例添加一个实例方法item.($("#btn1") 会生成一个 j ...

  7. jQuery的观察者模式详解 转载

    jQuery的观察者模式详解 投稿:hebedich 本文主要是介绍了jQuery中on方法及trigger方法,以及围绕这个方法来体验的观察者模式,是篇非常不错的文章,对我们理解观察者模式很有帮助. ...

  8. 【转载】jQuery.extend 函数详解

    转载自:http://www.cnblogs.com/RascallySnake/archive/2010/05/07/1729563.html jQuery.extend 函数详解 JQuery的e ...

  9. jQuery.hasClass() 函数详解

    jQuery.hasClass() 函数详解 hasClass()函数用于指示当前jQuery对象所匹配的元素是否含有指定的css类名. 该函数属于jQuery对象(实例). 语法 JavaScrip ...

随机推荐

  1. java 反射的应用 以及通过反射 用到的工厂模式

    java反射详解 本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解. 下面开始正文. [案 ...

  2. linux bond配置步骤,七种bond模式说明

    一.网卡绑定: 第一步:创建一个ifcfg-bondX # vi /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 BONDING_OPT ...

  3. Combination Sum II

    public class Solution { public List<List<Integer>> combinationSum2(int[] candidates, int ...

  4. 解决Spine骨骼混合动画错乱问题

    Spine是一个很好的制作2D骨骼动画的软件,其中提供的混合(mix)动画功能可以很柔和过度两个不同的动画,但在混合时期,稍有不善,非常容易出现各种错乱.在Spine2D骨骼动画群上,有人提出全K帧. ...

  5. 关于android R.layout.没有出现自己写的布局解决方法

    直接上解决方法 1.若import了androi.R直接删除,导入自己包下的R文件,例如com.example.my.R 2.若上面的做了后还有错误,应该是包名不一致导致的,即com.example. ...

  6. 获取本机IP

    Dns.GetHostEntry(Dns.GetHostName()).AddressList.FirstOrDefault<IPAddress>(a => a.AddressFam ...

  7. flask请求管道

    请求管道,登录前的验证,否则重定向到登录页面. # coding: utf8 from flask import render_template, request, g, session, redir ...

  8. mybaits中插入到mysql数据库自动返回id主键

    在做电商项目时,做到添加商品时,添加商品涉及到图片表和最小销售单元表,这两个表有商品的id,添加图片和最小销售单元,要先返回产品的id.具体做法如下 <insert id="addPr ...

  9. jquery 通知页面变化

    var PageTitleNotification = { Vars: { OriginalTitle: document.title, Interval: null, IsNotificationE ...

  10. 使用Ajax实现的批量删除操作(C#)

    今天做了一个简单的批量删除操作,虽然简单,但是很多问题出现,终究还是技术不够熟练. 现在在这里跟大家分享一下.仅供学习... 1.在前台获取用户点击的信息id,把这里id封装到一个数组里面:(rows ...