表单验证代码实例:jquery.validate.js表单验证插件
jquery.validate.js是JQuery旗下的一个验证插件,借助JQuery的优势,我们可以迅速验证一些常见的输入,并且可以自己扩充自己的验证方法。使用前请先下载必要的JQuery插件:jquery-1.4.2.min.js和jquery.validate.min.js。
下面演示如何使用jquery.validate.js插件进行表单的验证。
这是HTML表单:
<form id="regFrom" name="regFrom">
<input type="submit" value="测试validion插件"/><p/>
<div>用户名:<input type="text" id="userName" name="userName"/></div><div style="float:left;"></div>
<div>密码:<input type="text" id="password" name="password" minlength="3"/></div><div style="float:left;"></div>
<div>确认密码:<input type="text" id="repassword" name="repassword" minlength="3"/></div><div style="float:left;"></div>
<div>问题:<input type="text" id="question" name="question"/></div><div style="float:left;"></div>
<div>答案:<input type="text" id="answer" name="answer"/></div><div style="float:left;"></div>
<div>真实姓名:<input type="text" id="realName" name="realName"/></div><div style="float:left;"></div>
<div>证件号码:<input type="text" id="cardNumber" name="cardNumber"/></div><div style="float:left;"></div>
<div>手机:<input type="text" id="mobilePhone" name="mobilePhone"/></div><div style="float:left;"></div>
<div>电话:<input type="text" id="phone" name="phone"/></div><div style="float:left;"></div>
<div>E-mail:<input type="text" id="email" name="email"/></div><div style="float:left;"></div>
<div>邮编:<input type="text" id="zipCode" name="zipCode"/></div><div style="float:left;"></div>
<input type="hidden" id="isUserNameExist"/>
</form>
这是我的表单验证代码:
$(document).ready(function() {
$.validator.setDefaults({
submitHandler : function(form) {
form.submit();
}
});
// 中文字两个字节
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]);
}, "<font color='red'>请确保输入的值在3-15个字节之间(一个中文字算2个字节)</font>");
// 用户名是否存在
jQuery.validator.addMethod("isUserNameExist", function(value, element) {
var flag = $.ajax({
type : "POST",
url : "validateServlet",
data : "username=" + value,
async : false,
success : function(msg) {
alert("返回数据: " + msg);
}
}).responseText;
return this.optional(element) || flag == 1;
}, "<font color='red'>该用户不存在</font>");
// 身份证号码验证
jQuery.validator.addMethod("isIdCardNo", function(value, element) {
return this.optional(element) || isIdCardNo(value);
}, "<font color='red'>请正确输入您的身份证号码</font>");
// 字符验证
jQuery.validator.addMethod("userName", function(value, element) {
return this.optional(element)
|| /^[\u0391-\uFFE5\w]+$/.test(value);
}, "<font color='red'>用户名只能包括中文字、英文字母、数字和下划线</font>");
// 手机号码验证
jQuery.validator.addMethod("isMobile", function(value, element) {
var length = value.length;
return this.optional(element)
|| (length == 11 && /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/
.test(value));
}, "<font color='red'>请正确填写您的手机号码</font>");
// 电话号码验证
jQuery.validator.addMethod("isPhone", function(value, element) {
var tel = /^(\d{3,4}-?)?\d{7,9}$/g;
return this.optional(element) || (tel.test(value));
}, "<font color='red'>请正确填写您的电话号码</font>");
// 邮政编码验证
jQuery.validator.addMethod("isZipCode", function(value, element) {
var tel = /^[0-9]{6}$/;
return this.optional(element) || (tel.test(value));
}, "<font color='red'>请正确填写您的邮政编码</font>");
$(regFrom).validate({
rules : {
userName : {
required : true,
userName : true,
byteRangeLength : [3, 15],
isUserNameExist : true
},
password : {
required : true
},
repassword : {
required : true,
equalTo : "#password"
},
question : {
required : true
},
answer : {
required : true
},
realName : {
required : true
},
cardNumber : {
isIdCardNo : true
},
mobilePhone : {
isMobile : true
},
phone : {
isPhone : true
},
email : {
required : true,
email : true
},
zipCode : {
isZipCode : true
}
},
messages : {
userName : {
required : "<font color='red'>请填写用户名</font>",
byteRangeLength : "<font color='red'>用户名必须在3-15个字符之间(一个中文字算2个字符)</font>",
isUserNameExist : "<font color='red'>该用户不存在</font>"
},
password : {
required : "<font color='red'>请填写密码</font>",
minlength : jQuery
.format("<font color='red'>至少输入{0}个字符.</font>")
},
repassword : {
required : "<font color='red'>请填写确认密码poluoluo</font>",
equalTo : "<font color='red'>两次密码输入不相同</font>",
minlength : jQuery
.format("<font color='red'>至少输入{0}个字符.</font>")
},
question : {
required : "<font color='red'>请填写您的密码提示问题</font>"
},
answer : {
required : "<font color='red'>请填写您的密码提示答案</font>"
},
realName : {
required : "<font color='red'>请填写您的真实姓名</font>"
},
email : {
required : "<font color='red'>请输入一个Email地址</font>",
email : "<font color='red'>请输入一个有效的Email地址</font>"
}
},
errorPlacement : function(error, element) {
error.appendTo(element.parent());
},
success : function(label) {
// set as text for IE
label.html("<font color='green'>OK!</font>");
},
focusInvalid : false,
onkeyup : false
});
// 输入框获得焦点时,样式设置
$('input').focus(function() {
if ($(this).is(":text") || $(this).is(":password"))
$(this).addClass('focus');
if ($(this).hasClass('have_tooltip')) {
$(this).parent().parent().removeClass('field_normal')
.addClass('field_focus');
}
});
// 输入框失去焦点时,样式设置
$('input').blur(function() {
$(this).removeClass('focus');
if ($(this).hasClass('have_tooltip')) {
$(this).parent().parent().removeClass('field_focus')
.addClass('field_normal');
}
});
});
表单验证代码实例:jquery.validate.js表单验证插件的更多相关文章
- Jquery.validate.js表单验证插件的使用
作为一个网站web开发人员,以前居然不知道还有表单验证这样好呀的插件,还在一行行写表单验证,真是后悔没能早点知道他们的存在. 最近公司不忙,自己学习一些东西的时候,发现了validation的一个实例 ...
- jQuery.validate.js表单验证插件
jQuery.validate.js表单验证插件的使用 效果: 代码: <!DOCTYPE html> <html lang="en"> <head& ...
- jquery.validate.js使用id验证控件
jquery.validate.js默认的是元素的name. 例如:<input name="username" id="username" size=& ...
- jquery.validate.js表单验证
一.用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassist ...
- jquery validate.js表单验证的基本用法入门
这里转载一篇前辈写的文章,在我自己的理解上修改了一下,仅作记录. 先贴一个国内某大公司的代码: 复制代码 代码如下: <script type="text/javascript&quo ...
- 【转】jquery.validate.js表单验证
一.用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassist ...
- [转]jquery.validate.js表单验证
原文地址:https://www.cnblogs.com/si-shaohua/p/3780321.html 一.用前必备官方网站:http://bassistance.de/jquery-plugi ...
- 转:jquery validate.js表单验证
这里转载一篇前辈写的文章,在我自己的理解上修改了一下,仅作记录. 先贴一个国内某大公司的代码: 复制代码代码如下: <script type="text/javascript" ...
- jquery.validate.js表单验证 jquery.validate.js的用法
jquery.validate.js这个插件已经用了2年多了,是一个不可多得的表单验证最方便快捷的插件.基于jquery的小插件,基本小白一学就会上手,对于项目表单页面比较多,元素比较多的校验,该插件 ...
随机推荐
- 转一篇老外写的博文:Android automated testing (Robotium)
Robotium的中文资料甚少,只得求助于老外,发现了一篇不错的文章:https://blog.codecentric.de/en/2011/03/android-automated-testing- ...
- 国际化(i18n)
一.国际化开发概述 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的.符合来访者阅读习惯的页面或数据. 国际化(internationaliz ...
- SQLServer 常用日期处理
select GETDATE() as '当前日期',DateName(year,GetDate()) as '年',DateName(month,GetDate()) as '月',DateName ...
- 二十六:Struts2 和 spring整合
二十六:Struts2 和 spring整合 将项目名称为day29_02_struts2Spring下的scr目录下的Struts.xml文件拷贝到新项目的scr目录下 在新项目的WebRoot-- ...
- 解析利用wsdl.exe生成webservice代理类的详解
利用wsdl.exe生成webservice代理类:根据提供的wsdl生成webservice代理类1.开始->程序->Visual Studio 2005 命令提示2.输入如下红色标记部 ...
- Git 版本控制 在 WIN 下的一些使用方法
这里记录一些 Git 在 Windows 操作系统下使用方法: 安装完毕后,先让Git 记录自己的名字: $ git config --global user.name "Your Name ...
- CSS盒子模型学习记录2
参考:http://www.blueidea.com/tech/web/2007/4545_2.asp 代码试验: html代码: <!DOCTYPE html PUBLIC "-// ...
- 在.net桌面程序中自定义鼠标光标
有的时候,一个自定义的鼠标光标能给你的程序增色不少.本文这里介绍一下如何在.net桌面程序中自定义鼠标光标.由于.net的桌面程序分为WinForm和WPF两种,这里分别介绍一下. WinForm程序 ...
- [cocos2d-js]cc.RenderTexture几种用法(数字图片、刮刮乐效果)
[转]http://blog.csdn.net/realcrazysun1/article/details/42393629 本文基于cocos2d-js 3.0版本引擎开发 RenderTextur ...
- LR工具使用之场景设置
LR工具使用之场景设置 一.操作步骤 1.运行loadrunner,进入运行负载测试控件: