JS--easyui通用验证
// JavaScript Document $.extend($.fn.validatebox.defaults.rules, {
Composite_validation:
{
validator: function (value, param) {
var mReg = new RegExp(param[0]); //传递过来的正则字符串中的"\"必须是"\\"
if (!mReg.test(value)) {
$.fn.validatebox.defaults.rules.Composite_validation.message = param[1];
return false;
}
else {
var postdata = {};
postdata[param[3]] = value;
var result = $.ajax({
url: param[2],
data: postdata,
async: false,
type: "post",
dataType: "json"
}).responseText;
result = JSON.parse(result);
if (!result.success) {
$.fn.validatebox.defaults.rules.Composite_validation.message = result.message;
return false;
}
else {
return true;
}
}
},
message: ''
}, sockdate: {
validator: function (value, param) {
//var s = $("input[name="+param[0]+"]").val();
//因为日期是统一格式的所以可以直接比较字符串 否则需要Date.parse(_date)转换
value = value.replace(/-/g, "/");//替换字符,变成标准格式
var d1 = new Date(Date.parse(value));
var d2 = new Date();
return d1.format("yyyyMMdd") >= d2.format("yyyyMMdd");
},
message: '到货日期必须大于或等于当前日期'
},
URL: {
validator: function (value, param) {
return /^((http|https):\/\/(\w+:{0,1}\w*@)?(\S+)|)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/.test(value);
},
message: '请输入URL'
},
CHS: {
validator: function (value, param) {
return /^[\u0391-\uFFE5]+$/.test(value);
},
message: '请输入汉字'
},
ZIP: {
validator: function (value, param) {
return /^[1-9]\d{5}$/.test(value);
},
message: '邮政编码不存在'
},
QQ: {
validator: function (value, param) {
return /^[1-9]\d{4,10}$/.test(value);
},
message: 'QQ号码不正确'
},
mobile: {
validator: function (value, param) {
return /^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/.test(value);
},
message: '手机号码不正确!示例:13012341234'
},
tel: { // 电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号)
validator: function (value, param) {
return /^((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)/.test(value);
},
message: '电话号码不正确!示例:13012341234、0512-6234567、0512-6234567-0001'
},
text: {
validator: function (value, param) {
return /^[\u0391-\uFFE5\w]+$/.test(value);
},
message: '文本内容只允许汉字、英文字母、数字及下划线。'
}, validTag: {
validator: function (value, param) {
var valid = true;
if (value.length != param[0]) {
valid = false;
param[1] = '输入内容长度必须为:' + param[0];
} else if (!(/^[A-F0-9]{6}$/.test(value))) {
valid = false;
param[1] = '只允许输入[000000~FFFFFF]之间的标签ID。小贴士:输入标签ID后6位。';
}
return valid;
},
message: '{1}'
}, validTagExtend: {
validator: function (value, param) {
var valid = true;
if (value.length > param[0]) {
valid = false;
param[1] = '标签编号长度不能超过' + param[0];
} else if (!(/^[A-Z0-9]+$/.test(value))) {
valid = false;
param[1] = '标签编号必须是A-Z(大写)之间的英文字符或数字';
}
return valid;
},
message: '{1}'
}, validStation: {
validator: function (value, param) {
var valid = true;
if (value.length != param[0]) {
valid = false;
param[1] = '输入内容长度必须为:' + param[0];
} else if (!(/^[A-F0-9]{2}$/.test(value))) {
valid = false;
param[1] = '只允许输入[00~FF]之间的基站ID。';
}
return valid;
},
message: '{1}'
}, textLength: {
validator: function (value, param) {
var valid = true;
if (value.length < param[0] || value.length > param[1]) {
valid = false;
param[2] = '输入内容长度必须介于' + param[0] + '和' + param[1] + '之间';
} else if (!(/^[\u0391-\uFFE5\w\-\.]+$/.test(value))) {
valid = false;
param[2] = '文本内容只允许汉字、英文字母、数字、小数点、中线及下划线。';
}
return valid;
},
message: '{2}'
},
safepass: {
validator: function (value, param) {
var valid = true;
if (value.length > param[0]) {
valid = false;
param[1] = '至多输入 ' + param[0] + ' 字符';
} else if (!safePassword(value)) {
valid = false;
param[1] = '密码由字母、特殊字符和数字组成,至少6位';
}
return valid;
},
message: '{1}'
},
equalTo: {
validator: function (value, param) {
return value == $(param[0]).val();
},
message: '两次输入的字符不一至'
},
number: {
validator: function (value, param) {
return /^\d+$/.test(value);
},
message: '请输入数字'
},
number2: {
validator: function (value, param) {
return /^\+?[0-9]\d*$/.test(value);
},
message: '请输入大于零的数字'
},
idcard: {
validator: function (value, param) {
return idCard(value);
},
message: '请输入正确的身份证号码'
},
minLength: {
validator: function (value, param) {
return value.length >= param[0];
},
message: '至少输入 {0} 字符'
},
maxLength: {
validator: function (value, param) {
return value.length <= param[0];
},
message: '至多输入 {0} 字符'
},
length: {
validator: function (value, param) {
var len = $.trim(value).length;
return len >= param[0] && len <= param[1];
},
message: "输入内容长度必须介于{0}和{1}之间."
},
selectRequired: {
validator: function (value, param) {
var selectVal = $("input[name=" + param[0] + "]").val(); // $(param[0]).val();
return parseInt(selectVal) > -1;
},
message: '请选择'
},
areaCode: {
validator: function (value, param) {
var valid = true;
if (!(/^[A][0-9]{4}$/.test(value))) {
valid = false;
}
return valid;
},
message: '区域编号必须以A(大写)开头+4位数字,例如A0001'
},
shelfCode: {
validator: function (value, param) {
var valid = true;
if (!(/^[S][0-9]{5}$/.test(value))) {
valid = false;
}
return valid;
},
message: '货架编号必须以S(大写)开头+5位数字,例如S00001'
}
}); /* 密码由字母和数字组成,至少6位 */
var safePassword = function (value) {
return !(/^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|.{0,5})$|\s/.test(value));
}; var idCard = function (value) {
if (value.length == 18 && 18 != value.length) return false;
var number = value.toLowerCase();
var d, sum = 0, v = '10x98765432', w = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2], a = '11,12,13,14,15,21,22,23,31,32,33,34,35,36,37,41,42,43,44,45,46,50,51,52,53,54,61,62,63,64,65,71,81,82,91';
var re = number.match(/^(\d{2})\d{4}(((\d{2})(\d{2})(\d{2})(\d{3}))|((\d{4})(\d{2})(\d{2})(\d{3}[x\d])))$/);
if (re == null || a.indexOf(re[1]) < 0) return false;
if (re[2].length == 9) {
number = number.substr(0, 6) + '19' + number.substr(6);
d = ['19' + re[4], re[5], re[6]].join('-');
} else d = [re[9], re[10], re[11]].join('-');
if (!isDateTime.call(d, 'yyyy-MM-dd')) return false;
for (var i = 0; i < 17; i++) sum += number.charAt(i) * w[i];
return (re[2].length == 9 || number.charAt(17) == v.charAt(sum % 11));
} var isDateTime = function (format, reObj) {
format = format || 'yyyy-MM-dd';
var input = this, o = {}, d = new Date();
var f1 = format.split(/[^a-z]+/gi), f2 = input.split(/\D+/g), f3 = format.split(/[a-z]+/gi), f4 = input.split(/\d+/g);
var len = f1.length, len1 = f3.length;
if (len != f2.length || len1 != f4.length) return false;
for (var i = 0; i < len1; i++) if (f3[i] != f4[i]) return false;
for (var i = 0; i < len; i++) o[f1[i]] = f2[i];
o.yyyy = s(o.yyyy, o.yy, d.getFullYear(), 9999, 4);
o.MM = s(o.MM, o.M, d.getMonth() + 1, 12);
o.dd = s(o.dd, o.d, d.getDate(), 31);
o.hh = s(o.hh, o.h, d.getHours(), 24);
o.mm = s(o.mm, o.m, d.getMinutes());
o.ss = s(o.ss, o.s, d.getSeconds());
o.ms = s(o.ms, o.ms, d.getMilliseconds(), 999, 3);
if (o.yyyy + o.MM + o.dd + o.hh + o.mm + o.ss + o.ms < 0) return false;
if (o.yyyy < 100) o.yyyy += (o.yyyy > 30 ? 1900 : 2000);
d = new Date(o.yyyy, o.MM - 1, o.dd, o.hh, o.mm, o.ss, o.ms);
var reVal = d.getFullYear() == o.yyyy && d.getMonth() + 1 == o.MM && d.getDate() == o.dd && d.getHours() == o.hh && d.getMinutes() == o.mm && d.getSeconds() == o.ss && d.getMilliseconds() == o.ms;
return reVal && reObj ? d : reVal; function s(s1, s2, s3, s4, s5) {
s4 = s4 || 60, s5 = s5 || 2;
var reVal = s3;
if (s1 != undefined && s1 != '' || !isNaN(s1)) reVal = s1 * 1;
if (s2 != undefined && s2 != '' && !isNaN(s2)) reVal = s2 * 1;
return (reVal == s1 && s1.length != s5 || reVal > s4) ? -10000 : reVal;
}
};
JS--easyui通用验证的更多相关文章
- Easyui Ajax验证Form表单。。。
今天做项目用到easyui Ajax验证表单.本想自定义一个easyui的验证,查资料发现easyui 自带了一个通用的验证!见以下下截图. 后台返回值 true验证通过,返回false验证失 ...
- js 表单验证控制代码大全
js表单验证控制代码大全 关键字:js验证表单大全,用JS控制表单提交 ,javascript提交表单:目录:1:js 字符串长度限制.判断字符长度 .js限制输入.限制不能输入.textarea 长 ...
- 基于easyui的验证扩展
基于easyui的验证扩展 ##前言 自己做项目也有好几年的时间了,一直没有时间整理自己的代码,趁春节比较闲,把自己以前的代码整理了一篇.这是基于easyui1.2.6的一些验证扩展,2012年就开始 ...
- easyui的验证
加一个JS来重写验证,文件名为:validator.js 内容为: //扩展easyui表单的验证 $.extend($.fn.validatebox.defaults.rules, { //验证汉子 ...
- 表单(上)EasyUI Form 表单、EasyUI Validatebox 验证框、EasyUI Combobox 组合框、EasyUI Combo 组合、EasyUI Combotree 组合树
EasyUI Form 表单 通过 $.fn.form.defaults 重写默认的 defaults. 表单(form)提供多种方法来执行带有表单字段的动作,比如 ajax 提交.加载.清除,等等. ...
- JS表单验证-12个常用的JS表单验证
JS表单验证-12个常用的JS表单验证 最近有个项目用到了表单验证,小编在项目完结后的这段时间把常用的JS表单验证demo整理了一下,和大家一起分享~~~ 1. 长度限制 <p>1. 长度 ...
- jquery.validation.js 表单验证
jquery.validation.js 表单验证 官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuer ...
- JQuery EasyUI validatebox(验证框)
JQuery EasyUI validatebox(验证框) http://www.easyui.info/archives/602.html
- Jquery.validate.js表单验证插件的使用
作为一个网站web开发人员,以前居然不知道还有表单验证这样好呀的插件,还在一行行写表单验证,真是后悔没能早点知道他们的存在. 最近公司不忙,自己学习一些东西的时候,发现了validation的一个实例 ...
- jquery.validate.js使用id验证控件
jquery.validate.js默认的是元素的name. 例如:<input name="username" id="username" size=& ...
随机推荐
- try/catch/finally 语句
定义和用法 try/catch/finally 语句用于处理代码中可能出现的错误信息. 错误可能是语法错误,通常是程序员造成的编码错误或错别字.也 可能是拼写错误或语言中缺少的功能(可能由于浏览器差异 ...
- 使用imread()函数读取图片的六种正确姿势
OpenCV实践之路——使用imread()函数读取图片的六种正确姿势 opencv里的argv[1]指向的文件在哪里 测试 #include "opencv2/highgui/highgu ...
- MVC5+EF6 入门完整教程2 :从前端UI开始
MVC分离的比较好,开发顺序没有特别要求,先开发哪一部分都可以,这次我们主要讲解前端UI的部分. ASP.NET MVC抛弃了WebForm的一些特有的习惯,例如服务器端控件,ViewState这些东 ...
- 不可将布尔值直接与true或者1进行比较
不可将布尔值直接与TRUR.FALSE或者"0"."1"进行比较. 根据布尔值的定义,零值为"假"(记为FALSE),任何非零值都是&quo ...
- CI框架Email类发送邮件提示Unable to send data: . The following SMTP error was encountered: Unable to .......
最近服务器迁移,然后CI框架做的项目发邮件全挂掉了,刚开始是25端口没开,然后开了正好还是有问题, 1.打印请求信息和返回信息 echo $this->email->print_debug ...
- 路飞-celery框架
Celery 官方 Celery 官网:http://www.celeryproject.org/ Celery 官方文档英文版:http://docs.celeryproject.org/en/la ...
- winform学习(1)初识winform
winform是Windows窗体应用程序 在窗体设计界面 单击鼠标右键--查看代码,即可转到Form1.cs的代码界面 从代码界面转到窗体设计界面的三种快捷方法:①双击解决方案资源管理器的 For ...
- Mysql 慢查询之showprofile
show profiles:返回服务器上最近执行的语句 资源的使用情况. 一.使用准备 Show profiles是5.0.37之后添加的,要想使用此功能,要确保版本在5.0.37之后. mysql& ...
- 微信小程序 获取cookie 以及设置 cookie
小程序开发中我们需要获取到后端给的cookie进行请求验证,但是微信并没有帮我们保存cookie,那么我们要维持会话需要自己来保存cookie,并且请求的时候加上cookie 1.获取cookie 在 ...
- Bugku - 好多压缩包 - Writeup
bugku - 好多压缩包 - Writeup M4x原创,转载请注明出处 这道题前前后后做了好几天,这里记录一下 题目 文件下载 分析 解压下载后的文件,发现有68个压缩文件,并且每个压缩文件里都有 ...