jquery validate自定义规则
//检查身份证号码是否存在
$.validator.addMethod("checkIDCardExist", function (value, element) {
if ($("#IDType").val() == "1")//为身份证号码时
{
var IDCard = value,
res = false;
$.ajax({
type: "POST",
async: false,
url: "/Server/CheckIDCard",
data: { IDCard: IDCard },
success: function (response) {
if (response.isSuccess) {
//给form元素赋值
res = true;
databind(response);
} else {
res = false;
}
}
});
return res;
} else {
return true;
} }, "身份证号码不存在");
//检查身份证号码格式
$.validator.addMethod("checkIDCardFormat", function (value, element) {
if ($("#IDType").val() == "1")//为身份证号码时
{
var msg = ""
, IDCardObj = {}
, Birthday = ""
, Sex = ""
, Age = "";
IDCardObj = new IDCard();
msg = IDCardObj.CheckIdCard(value);
if (msg != "验证通过!") {
$.validator.messages.checkIDCardFormat = msg;
return false;
} else {
//得到生日,性别,年龄
Birthday = IDCardObj.GetBirthday(value);
Sex = IDCardObj.GetSex(value);
Age = IDCardObj.GetAge(value);
$("#Birthday").val(Birthday);
$("#Sex").val(Sex == "M" ? "true" : "false");
$("#form_BasicInfo input[name='Age']").val(Age);
return true;
}
} else {
return true;
}
});
//检查字符数量汉字(算两个字符)
$.validator.addMethod("checkNumber", function (value, element) {
var num = 0; //总个数累加判断
for (var i = 0; i < value.length; i++) {
//根据charCodeAt来判断输入的是中文还是字母,符号
var charCode = value.charCodeAt(i);
if (charCode >= 0 && charCode <= 128) {
//字符就+1
num += 1;
} else {
//汉子就+2
num += 2;
}
};
if (num > 5) {
return false;
} else {
return true;
} }, "<font color='#E47068'>最多可以输入5个字符,汉字(算两个)</font>"); $.validator.addMethod("checkDateFormat", function (value, element, params) {
var reg = /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/;
if (this.optional(element) || reg.test(value)) {
if (params[0] == true && reg.test(value)) {//计算年龄
var Age = new IDCard().GetAgeByDate(value);
$("input[name='Age']").val(Age);
}
return true;
} else {
return false;
}
}, "时间格式有误"); //定义错误提示出现的位置
$.validator.setDefaults({
errorPlacement: function (error, element) {//error为错误提示对象,element为出错的组件对象
if (element.parent(".date").size() > 0) {
error.appendTo(element.parent().parent());
} else {
element.after(error);//默认是加在 输入框的后面。这个else必须写。不然其他非radio的组件 就无法显示错误信息了。
}
}
});
jquery validate自定义规则的更多相关文章
- jQquery.validate自定义规则的使用案例
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- jQuery.Validate自定义规程的使用案例
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- jquery validate 自定义验证方法
query validate有很多验证规则,但是更多的时候,需要根据特定的情况进行自定义验证规则. 这里就来聊一聊jquery validate的自定义验证. jquery validate有一个方法 ...
- jquery validate 自定义验证方法 日期验证
jquery validate有很多验证规则,但是更多的时候,需要根据特定的情况进行自定义验证规则. 这里就来聊一聊jquery validate的自定义验证. jquery validate有一个方 ...
- JQuery validate验证规则
//定义中文消息 var cnmsg = { required: “必选字段”, remote: “请修正该字段”, email: “请输入正确格式的电子邮件”, url: “请输入合法的网址”, d ...
- Jquery Validate自定义验证规则,一个汉字等于两个字符长度
使用Jquery validate时写的一些东西,在这里做个笔记 在使用 Jquery validate 的minlength和maxlength进行文本框内容长度验证的时候,对于一个汉字的长度检测结 ...
- jQuery Validate自定义各种验证方法(转)
一.封装自定义验证方法-validate-methods.js /***************************************************************** j ...
- 扩展jquery.validate自定义验证,自定义提示,本地化
<!DOCTYPE html> <html> <head> <meta name="viewport" content="wid ...
- jQuery Validate自定义金钱验证,是否为金额格式,保留两位小数,并支持千分制货币格式
//自定义函数实现 isMoney: function (value, element){ // return this.optional(element) || /(^[1-9]([0-9]+)?( ...
随机推荐
- ps曲线
>>曲线的基本原理. 输入:在坐标的底部横着的是输入,显示的是当前图片上的颜色信息. 输出:竖着的是输出线,使我们调整图片的输出结果. 输入和输出轴上都有一条明暗信息,告诉我们那边是阴影那 ...
- 使用B::Deparse模块对perl代码反汇编
Perl用很多默认操作和习惯用法,如果对某些代码不确定,perl编译器的真实理解方式,可以用Deparse模块反汇编看一下. 比如下面代码: while(<STDIN>){ print & ...
- lua内存管理
本文内容基于版本:Lua 5.3.0 Lua内存管理器规则 Lua允许用户自定义内存管理器,并在创建Lua虚拟机(lua_State实例)时传入.当然自定义内存管理器必须遵循Lua已定义的一些行为规则 ...
- angular学习笔记(二十六)-$http(4)-设置请求超时
本篇主要讲解$http(config)的config中的timeout项: $http({ timeout: number }) 数值,从发出请求开始计算,等待的毫秒数,超过这个数还没有响应,则返回错 ...
- HBase性能优化方法总结(二):写表操作
转自:http://www.cnblogs.com/panfeng412/archive/2012/03/08/hbase-performance-tuning-section2.html 本文主要是 ...
- Windows10 64位 Python2.7 Matplotlib安装
为了安装Matplotlib 百度了一大堆,也下载了一大堆安装包,结果还是报错ImportError: DLL load failed: %1 不是有效的 Win32 应用程序. 后来直接从官网看怎么 ...
- navicat如何导入sql文件和导出sql文件
http://jingyan.baidu.com/article/a65957f4976aad24e67f9b9b.html ************************************* ...
- linux环境变量设置 以及 source命令 Linux 之 /etc/profile、~/.bash_profile 等几个文件的执行过程 Linux 设置环境变量
定制环境变量 环境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell.对于Linux来说一般是bash,但也可以重新设定或切换到其它的Shell.环境变量文件:/etc/profil ...
- C++使用ocilib访问oracle数据库
引用: http://blog.csdn.net/u011311985/article/details/51221898 测试程序我放到 http://download.csdn.NET/detail ...
- Elasticsearch的javaAPI之get,delete,bulk
Elsasticsearch的javaAPI之get get API同意依据其id获得指定index中的基于json document.以下的样例得到一个JSON document(index为twi ...