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


    基础验证

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

    验证电话

    IsPhoneRex: {
    validator: function (value) {
    var rex = /^1[3-8]+d{9}$/;
    var rex2 = /^((0d{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-uFFE5w]+$/.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-9u4E00-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="50" />

     DataGrid控件编辑验证:

    只能输入正整数:

                             editor: {
                                type: 'validatebox',
                                options: {
                                    validType: 'checkDecN',
                                    onValidate: function (valid) {
    
                                    },
                                    onBeforeValidate: function () {
                                        $(this).attr('maxlength', 10);
                                        $(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", 10)
                                        $(this).on("keyup", function (event) {
                                            this.value = this.value.replace(/[^+|-|d|.]/g, '');
                                        });
    
                                    }
                                }
                            },
    
    
    validType属性可以继续使用上面的验证扩展,但是只是在页面给出提示,有时候我们想要是直接不让输入,所有就需要onBeforeValidate事件。在这个事件内做验证。
  • 相关阅读:
    【例题 6-21 UVA
    【例题 6-20 UVA
    【Codeforces Round #446 (Div. 2) C】Pride
    【Codeforces Round #446 (Div. 2) B】Wrath
    【Codeforces Round #446 (Div. 2) A】Greed
    【例题 6-19 UVA
    【CF675C】Money Transfers(离散化,贪心)
    【CF659E】New Reform(图的联通,环)
    【POJ1276】Cash Machine(多重背包单调队列优化)
    【HDU3507】Print Article(斜率优化DP)
  • 原文地址:https://www.cnblogs.com/yanbigfeg/p/8707199.html
Copyright © 2020-2023  润新知