1. Jquery 表单验证需要插件

jQuery validation 1.7  ---验证插件需要:jQuery 1.3.2
或 1.4.2版本

http://jquery.bassistance.de/validate/jquery.validate.zip


首页: http://bassistance.de/jquery-plugins/jquery-plugin-validation/

调用jquery.validate({});方法进行验证

$("#empForm").validate({

*     //自定义验证规则

*     //自定义提示信息

})

自定义校验规则可以通过自定义检验函数的方式新增加校验规则

步骤如下:

  1. 在定义校验规则之前定义一个新的方法

  2. 在rules中指定某个域使用此校验规则

  3. 在messages中指定这个域使用此校验规则没有通过的提示信息

示例代码:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery validation plug-in - main demo</title>
<link rel="stylesheet" type="text/css" media="screen" href="css/screen.css" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.validate.js"></script> <script type="text/javascript">
/*********************************************************************************************************/
/*
* 自定义验证方法
* $.validator.addMethod(name,method,message);
* * $.validator.addMethod()是固定写法
* * name:添加的方法的名字
* * method:一个函数,function(value,element,param){}
* * value:对应页面中元素的value属性值
* * element:对应页面中的元素
* * param:参数
* * message:错误提示信息
*/
$.validator.addMethod("cartLength",function(value,element,param){
var len = value.length; if(len!=15&&len!=18){
return false;
} return true; }); $.validator.addMethod("cartCheck",function(value,element,param){
var len = value.length; var flag; if(len==15){
var pattern = /^[0-9]{15}$/; flag = pattern.test(value);
} if(len==18){
var pattern = /^[0-9]{18}|[0-9]{17}x$/; flag = pattern.test(value);
} if(!flag){
return false;
} return true; }); /*********************************************************************************************************/ // validate signup form on keyup and submit
/*
* validate()方法:
* * 验证表单,实际上调用就是validate()方法
* * validate()方法传入一个json格式数据
* * rules:表单验证里的验证规则
* * key:对应的是页面中表单的name属性值
* * value:对应的验证规则
* * required:验证是否为空
* * minlength:验证最小长度
* * equalTo:对比指定标签的内容是否一致,"#id"
* * email:验证email地址是否正确
* rules:{
* key:value
* },
* * messages:表单验证里的错误提示信息
* * key:对应的是页面中表单的name属性值
* * value:错误提示信息
*
* messages:{
* key:value
* }
*/ $().ready(function(){ $("#empForm").validate({
rules:{
realname:"required",
username:{
required:true,
rangelength:[5,8]
},
psw:{
required:true,
rangelength:[6,12]
},
psw2:{
required:true,
rangelength:[6,12],
equalTo:"#psw"
},
gender:"required",
age:{
required:true,
range:[26,50]
},
edu:"required",
birthday:{
required:true,
dateISO:"yyyy/MM/dd"
},
checkbox1:"required",
email:{
required:true,
email:"true"
},
cart:{
required:true,
cartLength:true,
cartCheck:true
}
},
messages:{
realname:"真是名称不能为空",
username:{
required:"登录名不能为空",
rangelength:"登录名的长度应该在5至8之间"
},
psw:{
required:"密码不能为空",
rangelength:"密码的长度应该在6至12之间"
},
psw2:{
required:"密码不能为空",
rangelength:"密码的长度应该在6至12之间",
equalTo:"两次密码输入不一致"
},
gender:"你没有第三种选择", //如果在页面中设置其对应的label标签进行提示,在验证规则的信息提示中可以不设置相关内容
age:{
required:"年龄不能为空",
range:"年龄必须在26至50之间"
},
edu:"至少要选择一个学历",
birthday:{
required:"出生日期不能为空",
dateISO:"出生日期格式不正确"
},
email:{
required:"email不能为空",
email:"email地址的格式不正确"
},
cart:{
required:"身份证号码不能为空",
cartLength:"身份证号码长度不正确",
cartCheck:"身份证号码的格式不正确"
}
}
}); }); </script>
</head>
<body>
<p>员工信息录入</p>
<form name="empForm" id="empForm" method="post" action="test.html">
<table border=1>
<tr>
<td>真实姓名(不能为空 ,没有其他要求)</td>
<td><input type="text" id="realname" name="realname" />
</td>
</tr>
<tr>
<td>登录名(登录名不能为空,长度应该在5-8之间,可以包含中文字符(一个汉字算一个字符)):</td>
<td><input type="text" id="username" name="username" /></td>
</tr>
<tr>
<td>密码(不能为空,长度6-12字符或数字,不能包含中文字符):</td>
<td><input type="password" id="psw" name="psw" style="width:120px" /></td>
</tr>
<tr>
<td>重复密码(不能为空,长度6-12字符或数字,不能包含中文字符):</td>
<td><input type="password" id="psw2" name="psw2" style="width:120px" /></td>
</tr>
<!--
默认错误提示信息,在放置在页面的表单中第一个控件后面
<label style="display: none" for="gender" class="error">请选择性别</label>
* for:值对应的是页面表单中name属性的值
* class:设置样式,设置"error"样式
* style:"display: none",设置成隐藏 * 在jquery表单验证框架运行时,原理如下:
* 首先,表单验证框架会在页面中查找对应的label标签
* 在页面中查找对应label标签,错误提示信息就提示页面中label标签内的文本信息
* 在页面中没有找到对应label标签,就通过验证框架底层创建一个label标签进行错误信息的提示 errorClass: "error",
validClass: "valid",
errorElement: "label", label = $("<" + this.settings.errorElement + "/>") //<label></label>
.attr({"for": this.idOrName(element), generated: true})//<label for="gender"></label>
.addClass(this.settings.errorClass) //<label for="gender" class="error"></label>
.html(message || ""); //<label for="gender" class="error">错误提示信息</label> -->
<tr>
<td>性别(必选其一)</td>
<td>
<input type="radio" id="gender_male" value="m" name="gender"/>男
<input type="radio" id="gender_female" value="f" name="gender"/>女
<label style="display: none" for="gender" class="error">请选择性别</label>
</td>
</tr>
<tr>
<td>年龄(必填26-50):</td>
<td><input type="text" id="age" name="age" /></td>
</tr> <tr>
<td>你的学历:</td>
<td> <select name="edu" id="edu">
<option value="">--请选择你的学历--</option>
<option value="a">专科</option>
<option value="b">本科</option>
<option value="c">研究生</option>
<option value="e">硕士</option>
<option value="d">博士</option>
</select>
</td>
</tr> <tr>
<td>出生日期(1982/09/21):</td>
<td><input type="text" id="birthday" name="birthday" style="width:120px" value="" /></td>
</tr> <tr>
<td>兴趣爱好:</td>
<td colspan="2">
<input type="checkbox" name="checkbox1" id="qq1"/>乒乓球
<input type="checkbox" name="checkbox1" id="qq2" value="1" />羽毛球
<input type="checkbox" name="checkbox1" id="qq3" value="2" />上网
<input type="checkbox" name="checkbox1" id="qq4" value="3" />旅游
<input type="checkbox" name="checkbox1" id="qq5" value="4" />购物
<label style="display: none" for="checkbox1" class="error">您的兴趣爱好,至少选择一个</label>
</td>
</tr>
<tr>
<td align="left">电子邮箱:</td>
<td><input type="text" id="email" style="width:120px" name="email" /></td>
</tr>
<tr>
<td align="left">身份证(15-18):</td>
<td><input type="text" id="cart" style="width:200px" name="cart" /></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type="submit" name="firstname" id="firstname" value="保存"></td>
</tr>
</table> </form>
<script language="JavaScript"> </script> </body>
</html>

JQuery -- Validate, Jquery 表单校验的更多相关文章

  1. Jquery.validate.js表单验证插件的使用

    作为一个网站web开发人员,以前居然不知道还有表单验证这样好呀的插件,还在一行行写表单验证,真是后悔没能早点知道他们的存在. 最近公司不忙,自己学习一些东西的时候,发现了validation的一个实例 ...

  2. 基于Jquery Validate 的表单验证

    基于Jquery Validate 的表单验证 jquery.validate.js是jquery下的一个验证插件,运用此插件我们可以很便捷的对表单元素进行格式验证. 在讲述基于Jquery Vali ...

  3. 异步提交form的时候利用jQuery validate实现表单验证

    异步提交form的时候利用jQuery validate实现表单验证相信很多人都用过jquery validate插件,非常好用,并且可以通过下面的语句来自定义验证规则    // 电话号码验证    ...

  4. 基于Bootstrap+jQuery.validate Form表单验证实践

    基于Bootstrap jQuery.validate Form表单验证实践 项目结构 :     github 上源码地址:https://github.com/starzou/front-end- ...

  5. jQuery.validate.js表单验证插件

    jQuery.validate.js表单验证插件的使用 效果: 代码: <!DOCTYPE html> <html lang="en"> <head& ...

  6. jquery.validate.js表单验证

    一.用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassist ...

  7. jquery validate.js表单验证的基本用法入门

    这里转载一篇前辈写的文章,在我自己的理解上修改了一下,仅作记录. 先贴一个国内某大公司的代码: 复制代码 代码如下: <script type="text/javascript&quo ...

  8. 【转】jquery.validate.js表单验证

    一.用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassist ...

  9. [转]jquery.validate.js表单验证

    原文地址:https://www.cnblogs.com/si-shaohua/p/3780321.html 一.用前必备官方网站:http://bassistance.de/jquery-plugi ...

  10. 转:jquery validate.js表单验证

    这里转载一篇前辈写的文章,在我自己的理解上修改了一下,仅作记录. 先贴一个国内某大公司的代码: 复制代码代码如下: <script type="text/javascript" ...

随机推荐

  1. phantomjs学习之网页访问测速

    1.编写loadpage2.js文件: loadpage2.js var page = require('webpage').create(), system = require('system'), ...

  2. 创建超小的Golang docker 镜像

    原文: http://colobu.com/2015/10/12/create-minimal-golang-docker-images/ 本文对于创建超小的镜像非常有用 Docker是PaaS供应商 ...

  3. 使用Dell R710 IDRAC挂载虚拟介质

    Dell DRAC,虚拟介质分离或所选虚拟磁盘驱动器的虚拟介质重定向已由另一用户使用 DELL Idrac 一台Dell的R710服务器,远程管理器后发现虚拟介质无法映射,一直提示“虚拟介质分离或所选 ...

  4. Logon Session Times

    How to Get User Logon Session Times from the Event Log To figure out user session time, you’ll first ...

  5. showslow / YSlow for PhantomJS/slimerjs(gecko)/phantomas

    http://yslow.org/phantomjs/ http://www.bstester.com/2015/12/front-end-performance-using-jenkinsphant ...

  6. javaweb项目中嵌入webservice--axis2

    由于最近项目中需要搭建webservice服务端,由于原项目是javaweb项目,所以需要整合.之前用cxf试了,启动老是报错,maven依赖冲突.后来索性换成axis2 百度了一圈,下面这个博客 h ...

  7. ubuntu14 编译安装(升级)g++

    编译安装(升级)g++ ubuntu14自带的g++为4.8.4,不支持c++11.现要将g++升至5.2.0 1.下载安装: 参考https://www.cppfans.org/1719.html ...

  8. CodeForces 215B Olympic Medal(数学啊)

    题目链接:http://codeforces.com/problemset/problem/215/B Description The World Programming Olympics Medal ...

  9. JDK源代码学习系列05----LinkedList

                                             JDK源代码学习系列05----LinkedList 1.LinkedList简单介绍 LinkedList是基于双向 ...

  10. vuejs项目打包成APP后,首页不显示