| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268 |
- /**
- * <pre>
- *
- * 自定义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]']">
- * </pre>
- */
- $.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<maxiValue;
- },
- message : '输入数据必须大于{0},且小于{1}!'
- },
- //
- remoteValid:{
- validator : function(value, param) {
- var result=false;
- var validUrl=param[0];
- $.ajax({
- type: "POST",
- url: validUrl,
- async:false,
- data: $(param[1]).serializeObject(),
- success: function(msg){
- var obj = eval(msg);
- if(obj.code==1){
- result=true;
- }else{
- param[0]=obj.message;
- }
- },
- error: function(){
-
- }
- });
- return result;
- },
- message : '{0}'
- },
- // 必须是数字(包括所有自然数)
- number:{
- validator : function(value, param) {
- var reg = /^-?\d+(\.\d+)?$/;
- return reg.test(value);
- },
- message : '必须是数字!'
- },
- telephone:{
- validator : function(value, param) {
- var regExp = /(^1[3|4|5|7|8][0-9]{9}$)|(^0\d{2,4}-\d{7,8}(-\d{1,6})?$)/;
- return regExp.test(value);
- },
- message : '请正确输入电话号码!'
- }
- });
|