easyUI中常用的正则表达式

function easyuiValidate(){
    //扩展easyui的validator插件rules,支持更多类型验证
    /**
    * auther by God'Son
    *
    * date : 2010 - 11 -29
    */
    
    $.extend($.fn.validatebox.methods, {    
        remove: function(jq, newposition){    
            return jq.each(function(){    
                $(this).removeClass("validatebox-text validatebox-invalid").unbind('focus').unbind('blur');  
            });    
        },  
        reduce: function(jq, newposition){    
            return jq.each(function(){    
               var opt = $(this).data().validatebox.options;  
               $(this).addClass("validatebox-text").validatebox(opt);  
            });    
        }     
    });

    $.extend($.fn.validatebox.defaults.rules, {
        minLength : { // 判断最小长度
            validator : function(value, param) {
                return value.length >= param[0];
            },
            message : '最少输入 {0} 个字符。'
        },
        fixedLength : { // 判断最小长度
            validator : function(value, param) {
                return value.length == param[0];
            },
            message : 'xxx长度为 {0} 个字符。'
        },
        length:{validator:function(value,param){
            var len=$.trim(value).length;
                return len>=param[0]&&len<=param[1];
            },
                message:"输入内容长度必须介于{0}和{1}之间."
            },
        maxLength:{validator:function(value,param){
            var len=value.length;
                if(len>=param[0]){
                    value=value.substring(0,param[0]);
                }
                return len<param[0];
            },
                message:"输入内容长度最大为{0}."
            },
        phone : {// 验证电话号码
            validator : function(value) {
                return /^0\d{2,4}-?\d{7,8}$/i.test(value);
            },
            message : '请输入有效的固定电话(如:029-88888888)'
        },
        mobile : {// 验证手机号码
            validator : function(value) {
                return value==null?null:/^(13|15|18)\d{9}$/i.test(value);
            },
            message : '手机号码为11位数字'
        },
        bankAccount : {
            validator : function(value) {
                return /^(95599|998801|998802|622525|622526|435744|435745|483536|528020|526855|622156|622155|356869|531659|622157|627066|627067|627068|627069)\d{10,13}$/i.test(value);
            },
            message : '银行账号格式不正确'
        },
        idcard : {// 验证身份证
            validator : function(value) {
                return value==null?null:/^\d{15}(\d{2}[A-Za-z0-9])?$/i.test(value);
            },
            message : '请输入有效的身份证号码'
        },
        intOrFloat : {// 验证整数或小数
            validator : function(value) {
                return /^\d+(\.\d+)?$/i.test(value);
            },
            message : '请输入数字,并确保格式正确'
        },
        currency : {// 验证货币
            validator : function(value) {
                return /^\d+(\.\d+)?$/i.test(value);
            },
            message : '货币格式不正确'
        },
        qq : {// 验证QQ,从10000开始
            validator : function(value) {
                return /^[1-9]\d{4,9}$/i.test(value);
            },
            message : 'QQ号码格式不正确'
        },
        integer : {// 验证整数
            validator : function(value) {
                return /^[+]?[1-9]+\d*$/i.test(value);
            },
            message : '请输入整数'
        },
        twofloat : {// 验证整数或小数點后兩位
            validator : function(value) {
                return /^\d+(\.\d{2})?$/i.test(value);
            },
            message : '请输入数字,并确保小数点后两位'
        },

        chinese : {// 验证中文
            validator : function(value) {
                return /^[\u0391-\uFFE5]+$/i.test(value);
            },
            message : '请输入中文'
        },
        english : {// 验证英语
            validator : function(value) {
                return /^[A-Za-z]+$/i.test(value);
            },
            message : '请输入英文'
        },

        unnormal : {// 验证是否包含空格和非法字符
            validator : function(value) {
                var canMatch=  /((['"<>=%;|&]+)|-{2,}|\\{2,})+/.test(value);
                return !canMatch;
            },
            message : '不能包含非法字符'
        },



        username : {// 验证用户名
            validator : function(value) {
                return /^[a-zA-Z][a-zA-Z0-9_]{5,15}$/i.test(value);
            },
            message : '用户名不合法(字母开头,允许6-16字节,允许字母数字下划线)'
        },
        faxno : {// 验证传真
            validator : function(value) {
//                return /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/i.test(value);
                return /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i.test(value);
            },
            message : '请输入有效的传真号码(如:029-88888888)'
        },
        zip : {// 验证邮政编码
            validator : function(value) {
                return /^[1-9]\d{5}$/i.test(value);
            },
            message : '邮政编码为6位数字'
        },
        ip : {// 验证IP地址
            validator : function(value) {
                return /d+.d+.d+.d+/i.test(value);
            },
            message : 'IP地址格式不正确'
        },
        name : {// 验证姓名,可以是中文或英文
                validator : function(value) {
                    return /^[\u0391-\uFFE5]+$/i.test(value)|/^\w+[\w\s]+\w+$/i.test(value);
                },
                message : '请输入姓名'
        },
        carNo:{
            validator : function(value){
                return /^[\u4E00-\u9FA5][\da-zA-Z]{6}$/.test(value);
            },
            message : '车牌号码无效(例:粤J12350)'
        },
        carenergin:{
            validator : function(value){
                return /^[a-zA-Z0-9]{16}$/.test(value);
            },
            message : '发动机型号无效(例:FG6H012345654584)'
        },
        email:{
            validator : function(value){
                return /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value);
            },
            message : '请输入有效的电子邮箱(如:abc@126.com)'    
        },
        msn:{
            validator : function(value){
                return /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value);
            },
            message : '请输入有效的msn账号(例:abc@hotnail(msn/live).com)'
        },
        monery:{//验证金钱格式
            validator : function(value){
                return /^([1-9][\d]{0,8}|0)(\.[\d]{1,2})?$/.test(value);
            },
            message : '请输入有效的金额!正确格式为小数点前1-9位数字,小数点后1-2位数字,如10.00'
        },
       day:{//验证间隔天数
            validator : function(value){
                return /^([1-9][\d]{0,4}|0)(\.[\d]{0,1})?$/.test(value);
            },
            message : '请输入有效的天数!'
        },
        interUrl:{
            validator : function(value){
                return /^((https|http|ftp)?:\/\/)+[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/.test(value);
            },
            message : '请输入有效网址'
        },
        same:{
            validator : function(value, param){
                if($("#"+param[0]).val() != "" && value != ""){
                    return $("#"+param[0]).val() == value;
                }else{
                    return true;
                }
            },
            message : '两次输入的密码不一致!'    
        },
        recipt:{//验证发票编号
            validator : function(value){
            return /^[0-9][\d]{0,29}$/.test(value);
        },
        message : '商户代码为1~30位数字!'
    },
      //验证页面文本框只能输入数字,汉字,下划线
        income:{
            validator : function(value){
             return /^[-_]?[0-9_\u4e00-\u9fa5_[-_]]+$/.test(value);
            },
            message : '请输入有效的收入名称(例:2000元-5000元)'   
        },
        //验证页面文本框只能输入汉字,字母或数字,小数点和空格
        characterDigit:{
            validator : function(value){
                return /^[\u4e00-\u9fa5 a-zA-Z0-9.-\/]+$/.test(value);
            },
            message : '输入值不能包含特殊字符'
        },
        //验证页面文本框只能输入汉字,字母或数字,括号
        character_Digit:{
            validator : function(value){
                return /^[\u4e00-\u9fa5 a-zA-Z0-9()\/]+$/.test(value);
            },
            message : '输入值不能包含特殊字符'
        },
        //验证页面文本框只能输入汉字,字母或数字
        character:{
            validator : function(value){
             return /^[\u4e00-\u9fa5_a-zA-Z0-9]+$/.test(value);
            },
            message : '输入值不能包含特殊字符'
        },
        onlyCode:{
            validator : function(value){
                return /^[0-9a-zA-Z]*$/g.test(value);
            },
            message : '只能输入数字或者字母'
        },
        onlyNumber:{
            validator : function(value){
                return /^[0-9]*$/g.test(value);
            },
            message : '只能输入数字'
        },
        characterDigitLength:{
            validator : function(value,param){
                var pattern = new RegExp("[\u4E00-\u9FA5a-zA-Z0-9_]")
                if(!pattern.test(value)){
                    return false
                }else{
                    var len=$.trim(value).length;
                    if(len<param[0]){
                        return false;
                    }else if(len>param[1]){
                        return false;
                    }else{
                        return true;
                    }
                }
            },
            message : "输入内容长度必须介于{0}和{1}之间.不能包含特殊字符"
        },
        //验证特殊字符
        specialCharacter:{
            validator : function(value){
                var pattern = new RegExp("[`~!@#$^&*()\-\_+=|{}':;',\\\\\[\\].<>/?\"%~·!¥……×()——-、『』【】:;《》,。?/]")
                if(!pattern.test(value)){
                     return false;
                }else{
                     return true;
                }
            },
            message : '输入值不能包含特殊字符'
        },
       
        //validatebox 多重校验
        multiple : {
            validator : function(value, vtypes) {
                var returnFlag = true;
                var opts = $.fn.validatebox.defaults;
                for (var i = 0; i < vtypes.length; i++) {
                    var methodinfo = /([a-zA-Z_]+)(.*)/.exec(vtypes[i]);
                    var rule = opts.rules[methodinfo[1]];
                    if (value && rule) {
                        var parame = eval(methodinfo[2]);
                        if (!rule["validator"](value, parame)) {
                            returnFlag = false;
                            this.message = rule.message;
                            break;
                        }
                    }
                }
                return returnFlag;
            }
        },
        length : {
            validator : function(value, param) {
                this.message = '输入内容长度必须介于{0}和{1}之间.';
                var len = $.trim(value).length;
                if (param) {
                    for (var i = 0; i < param.length; i++) {
                        this.message = this.message.replace(new RegExp(
                                        "\\{" + i + "\\}", "g"), param[i]);
                    }
                }
                return len >= param[0] && len <= param[1];
            },
        message : '输入内容长度必须介于{0}和{1}之间.'
        }
        
    });
}

posted @ 2015-09-06 14:29  大白2  阅读(1918)  评论(1编辑  收藏  举报