【esayui】扩展验证方法,控件验证

时间:2022-04-27 16:21:17

基础验证

//页面调用方法
$.extend($.fn.validatebox.defaults.rules, {

验证电话

IsPhoneRex: {
validator: function (value) {
var rex = /^1[3-8]+\d{9}$/;
var rex2 = /^((0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/;
if (rex.test(value) || rex2.test(value)) {
// alert('t'+value);
return true;
} else {
//alert('false '+value);
return false;
}

},
message: '请输入正确电话或手机格式'
},

最大最小长度提示

maxLength: {
validator: function (value, param) {
return value.length <= param[0];
},
message: '最大长度为{0}字符'
},
minLength: {
validator: function (value, param) {
return value.length >= param[0];
},
message: '最小长度为{0}字符'
},

长度在什么之间

lengthLimit: {
validator: function (value, param) {
return value.length >= param[0] && value.length <= param[1];
},
message: '字符长度必须介于{0}和{1}之间'
},

验证货币

IsCurrency: {
validator: function (value) {
return /^\d+(\.\d+)?$/i.test(value);
},
message: '货币格式不正确'
},

验证中文

IsChinese: {
validator: function (value) {
return /^[\Α-\¥]+$/i.test(value);
},
message: '请输入中文'
},

验证登录名

loginName: {
validator: function (value, param) {
return /^[\u0391-\uFFE5\w]+$/.test(value);
},
message: '登录名称只允许汉字、英文字母、数字及下划线。'
},

验证英语

IsEnglish: {
validator: function (value) {
return /^[A-Za-z]+$/i.test(value);
},
message: '请输入英文'
},

验证是否包含空格和非法字符

IsNnnormal: {
validator: function (value) {
return /.+/i.test(value);
},
message: '输入值不能为空和包含其他非法字符'
},

验证中文,英文,数字

stringCheckSub: {
validator: function (value) {
return /^[a-zA-Z0-9\u4E00-\u9FA5]+$/.test(value);
},
message: "只能包括中文字、英文字母、数字"
},

验证只运行输入字母或者数字

IsNumberOrLetter: {
validator: function (value) {
return /^[0-9a-zA-Z]+$/.test(value);
},
message: '只能包含数字或者字母'
},

验证数字

IsNumber: {
validator: function (value, param) {
return /^[+|-]{0,1}(\d+)$|^[+|-]{0,1}(\d+\.\d+)$/.test(value);
},
message: '请输入合法数字'
},

验证数字范围

IsNumberF: {
validator: function (value, param) {
return (/^[+|-]{0,1}(\d+)$|^[+|-]{0,1}(\d+\.\d+)$/.test(value) && value <= 30 && value >= -30 && /^[+|-]{0,1}([1-9]\d*|[0]{1,1})$/.test(value / 0.5));
},
message: '请输入-30到30数字'
},

验证数值扩展位数限制

IsNumberDigit: {
validator: function (value, param) {
if (/(^[1-9]\d*$)/.test(value)) {
return (/^[+|-]{0,1}(\d+)$|^[+|-]{0,1}(\d+\.\d+)$/.test(value) && value.length < param[0] + 1);
}
return (/^[+|-]{0,1}(\d+)$|^[+|-]{0,1}(\d+\.\d+)$/.test(value) && value.length < param[0] + 2);
},
message: '最多输入{0}位数值类型'
},

验证整数数字

IsIntNumber: {
validator: function (value, param) {
return /^-?\d+$/.test(value) && value > 0;
},
message: '请输入整数数字'
},

验证正数数字

IsPlusNumber: {
validator: function (value, param) {
return /^[+]{0,1}(\d+)$|^[+]{0,1}(\d+(\.\d{1,2})?)$/.test(value) && value > 0;
},
message: '请输入合法正数数字'
},

验证正数数值扩展位数限制

IsPlusNumberDigit: {
validator: function (value, param) {
if (/(^[1-9]\d*$)/.test(value)) {
return (/^[+]{0,1}(\d+)$|^[+]{0,1}(\d+(\.\d{1,2})?)$/.test(value) && value.length < param[0] + 1) && value > 0;
}
return (/^[+]{0,1}(\d+)$|^[+]{0,1}(\d+(\.\d{1,2})?)$/.test(value) && value.length < param[0] + 2) && value > 0;
},
message: '最多输入{0}位正数数值类型'
},

验证非负小数数字

IsNotLoseDecimalNumber: {
validator: function (value, param) {
return /^[+]{0,1}(\d+)$|^[+]{0,1}(\d+(\.\d{1,2})?)$/.test(value) && value >= 0;
},
message: '请输入合法非负数'
},

验证非负小数数字扩展位数限制

IsNotLoseDecimalNumberDigit: {
validator: function (value, param) {
if (/(^[1-9]\d*$)/.test(value)) {
return (/^[+]{0,1}(\d+)$|^[+]{0,1}(\d+(\.\d{1,2})?)$/.test(value) && value.length < param[0] + 1) && value >= 0;
}
return (/^[+]{0,1}(\d+)$|^[+]{0,1}(\d+(\.\d{1,2})?)$/.test(value) && value.length < param[0] + 2) && value >= 0;
},
message: '最多输入{0}位非负数'
},

验证小数位数[包含正负]

checkDecN: {
validator: function (value, param) {
return /^[+-]?\d+(\.\d{1,2})?$/.test(value);
},
message: '请输入小数位数不能超过2位的数值'
},

验证小数位数

checkDec: {
validator: function (value, param) {
return /^\d+(\.\d{1,2})?$/.test(value);
},
message: '请输入小数位数不能超过2位的数值'
},

验证小数位数增加范围

checkDecF: {
validator: function (value, param) {
return /^\d{0,8}\.{0,1}(\d{1,2})?$/.test(value) && value > 0;
},
message: '请输入大于0的数值小数位数小于2'
},

验证用户名

IsUsername: {
validator: function (value) {
return /^[a-zA-Z][a-zA-Z0-9_]{5,15}$/i.test(value);
},
message: '用户名不合法(字母开头,允许6-16字节,允许字母数字下划线)'
},

验证邮政编码

IsZip: {
validator: function (value) {
return /^[1-9]\d{5}$/i.test(value);
},
message: '邮政编码格式不正确'
},

验证年龄

IsAge: {
validator: function (value) {
return /^(?:[1-9][0-9]?|1[01][0-9]|120)$/i.test(value);
},
message: '年龄必须是0到120之间的整数'
},

select即选择框的验证

selectValid: {
validator: function (value, param) {
if (value == param[0]) {
return false;
} else {
return true;
}
},
message: '请选择'
},
});

控件调用形式

 <input  class="easyui-validatebox holiday-int" data-options="required:true,validType:'IsNumber'" maxlength="" />

DataGrid控件编辑验证:

只能输入正整数:

                         editor: {
type: 'validatebox',
options: {
validType: 'checkDecN',
onValidate: function (valid) { },
onBeforeValidate: function () {
$(this).attr('maxlength', );
$(this).on("keyup", function (event) {
this.value = this.value.replace(/[^\d|\.]/g, '');
}); }
}
},
能输入整数(正负)
                            editor: {
type: 'validatebox',
options: {
validType: ['IsPlusNumber', 'checkDec', 'maxLength[10]'],
onBeforeValidate: function () {
$(this).attr("maxlength", )
$(this).on("keyup", function (event) {
this.value = this.value.replace(/[^\+|\-|\d|\.]/g, '');
}); }
}
},

validType属性可以继续使用上面的验证扩展,但是只是在页面给出提示,有时候我们想要是直接不让输入,所有就需要onBeforeValidate事件。在这个事件内做验证。