/** *
 * 
 * 自定义validatebox扩展验证
 * 
 * easyui 支持的validatebox验证方法: 
 * email: 正则匹配电子邮件。 
 * url: 正则匹配url。 length[0,100]:验证长度范围。 
 * remote['http://.../action.do','paramName']: 发送ajax请求来验证,验证有效时返回true。
 * 
 * 自从1.3.2版本开始,validatebox自身已经支持多重校验了
 * input class="easyui-validatebox" data-options="required:true,validType:['email','length[0,20]']">
 * 
*/ $.extend($.fn.validatebox.defaults.rules, { // 字符串验证 // 至少输入字符数 minLength : { validator : function(value, param) { return value.length >= param[0]; }, message : '至少输入 {0} 个字符!' }, // 最多输入字符数 maxLength : { validator : function(value, param) { return value.length <= param[0]; }, message : '最多输入 {0} 个字符!' }, minValue:{ validator : function(value, param) { return Number(value)>=Number(param[0]); }, message : '输入值必须大于或等于 {0}!' }, maxValue:{ validator : function(value, param) { return Number(value)<=Number(param[0]); }, message : '输入值必须小于或等于 {0}!' }, // 应输入字符数 reqLength : { validator : function(value, param) { return value.length == param[0]; }, message : '必须输入 {0} 个字符!' }, // 必须输入字符数 requiredLength : { validator : function(value, param) { return value.length == param[0]; }, message : '应输入 {0} 个字符!' }, // 数字和字母组合 intAndChar : { validator : function(value, param) { var reg = /^[0-9a-zA-Z]+$/; return reg.test(value); }, message : '应输入字母或数字的组合!' }, // 数字和字母组合 intAndUpperChar : { validator : function(value, param) { var reg = /^[0-9A-Z]+$/; return reg.test(value); }, message : '应输入大写字母或数字的组合!' }, // 一位大写字母 anUpperChar : { validator : function(value, param) { var reg = /^[A-Z]{1,1}$/; return reg.test(value); }, message : '必须是一位大写字母!' }, // 只能最多两位小数 twoDecimal : { validator : function(value, param) { var reg = /^[0-9]+(.[0-9]{1,2})?$/; return reg.test(value); }, message : '最多保留两位小数!' }, // 重复打印必须是数字,且必须小于100! maxHun : { validator : function(value, param) { var reg = /^[0-9]{1,2}$/; return reg.test(value); }, message : '必须是数字,且必须小于100!' }, // 重复打印必须是数字,且必须小于100! lenSixOrSevenNum : { validator : function(value, param) { var reg = /^[0-9]{6,7}$/; return reg.test(value); }, message : '必须是6位数字或7位数字!' }, // 最大值不能超过多少 maxNum : { validator : function(value, param) { var reg = Number(value); return reg <= param[0]; }, message : '最大值不能超过: {0} !' }, // 最大值不能超过多少 numScop : { validator : function(value, param) { var reg = Number(value); return reg <= param[1] && reg >= param[0]; }, message : '录入的数字范围: {0} - {1} !' }, // 最大值不能超过多少 maxNumEval : { validator : function(value, param) { var v = eval("Number(maxTotal)"); param[0] = v; return value <= v; }, message : "录入的最大值超出范围: {0} !" }, // 最大值不能超过多少,可以引入参数变量 maxNumByValue : { validator : function(value, param) { var reg = Number(value) + Number(param[1]); return reg <= param[0]; }, message : '录入的最大值超出范围: {0} !' }, // 必须是整数 int : { validator : function(value, param) { var reg = /^[0-9]+$/; return reg.test(value); }, message : '必须是正整数!' }, // 国内邮编验证 zipcode : { validator : function(value) { var reg = /^[1-9]\d{5}$/; return reg.test(value); }, message : '邮编必须是非0开始的6位数字.' }, // 特殊数字格式验证 A00-Z00或可以录入数字10-9990 spNumSm : { validator : function(value) { var reg = /^(([A-Z]{1}[0]{2})|([0-9]{1,3}[0]{1}))$/; return reg.test(value); }, message : '该输入项为必填项.可以录入数字10-9990或A00表示1万,B00表示1.1万,C00表示1.2万,依此类推.' }, // 特殊数字格式验证 10-99990 spNumLg : { validator : function(value) { var reg = /^[0-9]{1,5}[0]{1}$/; return reg.test(value); }, message : '该输入项为必填项.可以录入数字10-999990之间10的倍数.' }, //10的整数倍 multiple : { validator : function(value,param) { var max = param[0]; if(value>max*10){ return false; } var reg = /^[0-9]{1,5}[0]{1}$/; return reg.test(value); }, message : '该输入项为必填项.可以录入数字10-{0}0之间10的倍数.' }, //"sumLess['#param',1000]" sumLess : { validator: function(value,param){ if($(param[0]).val()==null || $(param[0]).val()==''){ return true; } var v1=parseInt($(param[0]).val())+parseInt(value); param[2]=parseInt(param[1])-parseInt($(param[0]).val()); return v1 <=parseInt(param[1]); }, message: '数据输入必须小于 {2}' } , oneDecimal: { validator : function(value, param) { var reg = /^[0-9]+(.[0-9]{1})?$/; return reg.test(value); }, message : '最多保留1位小数!' }, lenSevenNum : { validator : function(value, param) { return value.length<=7; }, message : '必须小于7位的数字!' }, // lessNum : { validator : function(value, param) { return parseInt(value)<=parseInt(param[0]); }, message : '输入数据必须小于等于{0}!' }, // between:{ validator : function(value, param) { thisValue=Number(value); miniValue=Number(param[0]); maxiValue=Number(param[1]); return thisValue>miniValue && thisValue