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]+)?( ...
随机推荐
- Linux的七个运行级别原理概述
所谓运行级别,简单点来说,运行级别就是操作系统当前正在运行的功能级别.级别是从0到6,具有不同的功能.这些级别定义在/ect/inittab文件中.这个文件是init程序寻找的主要文件,最先运行的服务 ...
- PLSA-概率潜语义分析(二)
PLSA最大化下面函数: 简化后,最大化下面函数: . ------------------------------------------------------------------------ ...
- 基于PCIe的高速接口设计
基于PCIe的高速接口设计 由 judyzhong 于 星期四, 03/03/2016 - 13:49 发表 作者:李晓宁,姚远程,秦明伟 2016年微型机与应用第1期 摘要:PCIe总线是第三代I/ ...
- Cocos2d-x添加Android手机震动
这个震动需要调用adnroid系统的方法,所以需要C++调用java,JNI这里就不多做介绍了,需要的可以自己去查找下相关资料,如果你只是需要实现这个功能,相信你看完本文,应该就OK了! 1.首先,修 ...
- vue2.0的常用功能简介
路由跳转 当我们想要实现点击链接跳转时,可以使用$router来进行跳转 语法如下: '}}) 这里path是要跳转的路径,query里面是路径跳转时要携带的参数,以对象的形式存在 2 获取路由参数 ...
- 使用Konva创建进度条
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- mycli---数据库工具(提示、自动补全)
前言 朋友介绍了一个工具,mycli,支持MySQL查询语句自动补全等,这里给大家介绍一下. 大家也可以直接去官网看一下,安装使用都很简单. 安装 $ pip install -U mycli $ b ...
- FreeRTOS 低功耗之待机模式
STM32F103 如何进入待机模式在 FreeRTOS 系统中,让 STM32 进入待机模式比较容易,调用固件库函数PWR_EnterSTANDBYMode 即可. STM32F103 如何退出待机 ...
- FreeRTOS 低功耗之停机模式
以下转载自安富莱电子: http://forum.armfly.com/forum.php STM32F103 如何进入停机模式在 FreeRTOS 系统中,让 STM32 进入停机模式比较容易,调用 ...
- 基于HTML5 Canvas粒子效果文字动画特效
之前我们分享过很多超酷的文字特效,其中也有利用HTML5和CSS3的.今天我们要来分享一款基于HTML5 Canvas的文字特效,输入框中输入想要展示的文字,回车后即可在canvas上绘制出粒子效果的 ...