// 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通用验证的更多相关文章

  1. Easyui Ajax验证Form表单。。。

        今天做项目用到easyui Ajax验证表单.本想自定义一个easyui的验证,查资料发现easyui 自带了一个通用的验证!见以下下截图. 后台返回值 true验证通过,返回false验证失 ...

  2. js 表单验证控制代码大全

    js表单验证控制代码大全 关键字:js验证表单大全,用JS控制表单提交 ,javascript提交表单:目录:1:js 字符串长度限制.判断字符长度 .js限制输入.限制不能输入.textarea 长 ...

  3. 基于easyui的验证扩展

    基于easyui的验证扩展 ##前言 自己做项目也有好几年的时间了,一直没有时间整理自己的代码,趁春节比较闲,把自己以前的代码整理了一篇.这是基于easyui1.2.6的一些验证扩展,2012年就开始 ...

  4. easyui的验证

    加一个JS来重写验证,文件名为:validator.js 内容为: //扩展easyui表单的验证 $.extend($.fn.validatebox.defaults.rules, { //验证汉子 ...

  5. 表单(上)EasyUI Form 表单、EasyUI Validatebox 验证框、EasyUI Combobox 组合框、EasyUI Combo 组合、EasyUI Combotree 组合树

    EasyUI Form 表单 通过 $.fn.form.defaults 重写默认的 defaults. 表单(form)提供多种方法来执行带有表单字段的动作,比如 ajax 提交.加载.清除,等等. ...

  6. JS表单验证-12个常用的JS表单验证

    JS表单验证-12个常用的JS表单验证 最近有个项目用到了表单验证,小编在项目完结后的这段时间把常用的JS表单验证demo整理了一下,和大家一起分享~~~ 1. 长度限制 <p>1. 长度 ...

  7. jquery.validation.js 表单验证

    jquery.validation.js 表单验证   官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuer ...

  8. JQuery EasyUI validatebox(验证框)

    JQuery EasyUI validatebox(验证框) http://www.easyui.info/archives/602.html

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

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

  10. jquery.validate.js使用id验证控件

    jquery.validate.js默认的是元素的name. 例如:<input name="username" id="username" size=& ...

随机推荐

  1. hadoop docker ...

    hadoop docker ... 待办 昨天待办 decription decription 今日待办 decription decription decription decription had ...

  2. vue项目接入百度地图

    方法一 :使用第三方工具 vue-baidu-map 安装命令: yarn add vue-baidu-map --save 文档地址:https://dafrok.github.io/vue-bai ...

  3. (c#)拼写单词

    题目 解

  4. robots.txt 让搜索引擎不再收录网站

    有没有担心过自己的隐私会在强大的搜索引擎面前无所遁形?想象一下,如果要向世界上所有的人公开你的私人日记,你能接受吗?的确是很矛盾的问题,站长们大都忧虑“如何让搜索引擎收录的我的网站?”,而我们还是要研 ...

  5. Bugku-CTF之PHP_encrypt_1(ISCCCTF) [fR4aHWwuFCYYVydFRxMqHhhCKBseH1dbFygrRxIWJ1UYFhotFjA=]

    Day34     PHP_encrypt_1(ISCCCTF) fR4aHWwuFCYYVydFRxMqHhhCKBseH1dbFygrRxIWJ1UYFhotFjA=   下载下来.zip文件  

  6. 7-3 Path to Infinity(还没ac)

    留坑 #include<bits/stdc++.h> using namespace std; ; ; typedef long long ll; string s,t; ,tol2=,t ...

  7. Windows下MD5校验

    参考博客:https://www.cnblogs.com/liubinghong/p/9299276.html 参考博客:https://www.jianshu.com/p/1e1d56552e03 ...

  8. DFC-3C和DFC-3B的区别和注意事项

    1.Product numbers:WS-F6K-DFC(=)WS-F6K-DFC3A(=)WS-F6K-DFC3B(=)WS-F6K-DFC3BXL(=)WS-F6K-DFC3C(=)WS-F6K- ...

  9. 【经典数据结构】B树与B+树的解释

    本文转载自:http://www.cnblogs.com/yangecnu/p/Introduce-B-Tree-and-B-Plus-Tree.html 前面讲解了平衡查找树中的2-3树以及其实现红 ...

  10. python在线测试代码及教程

    python/Java在线测试代码:http://www.pythontutor.com/visualize.html#mode=edit廖雪峰Python教学:https://www.liaoxue ...