validate常用正则表达式

function formValidationConfig() {
    return {//全局配置
        // tiptype:4,//校验方式
        tiptype:function(msg,o,cssctl){
            var objtip=o.obj.parents('.validation-class').find('.tipMsg');
            //var objtip=o.obj.next('.tipMsg');
            // var objtip=o.obj.siblings('.tipMsg');
            cssctl(objtip,o.type);
            if(o.type == 3){
                o.obj.parents('.tipMsg').css('margin-top','0');
                //o.obj.parents('.validation-class').css('margin-bottom','0');
                o.obj.parents('.validation-class').removeClass('has-success').addClass('has-error');
                objtip.show().text(msg);
            }else{
                o.obj.parents('.tipMsg').css('margin-top','20px');
                //o.obj.parents('.validation-class').css('margin-bottom','20px');
                o.obj.parents('.validation-class').removeClass('has-error').addClass('has-success');
                objtip.hide();
            }
        },
        // btnSubmit:"#"+submit,//提交摁钮ID
        //btnReset:".btn_reset",//可选项 .btn_reset是该表单下要绑定点击重置表单事件的按钮;
        dragonfly:false,//可选项 true | false 默认false,当为true时,值为空时不做
        tipSweep:false,//可选项 true | false 默认为false,只在表单提交时触发检测,blu
        label:".label",//可选项 选择符,在没有绑定nullmsg时查找要显示的提示文字,默认查找".Va
        showAllError:true,//可选项 true | false,true:提交表单时所有错误提示信息都
        datatype: {//传入自定义datatype类型,可以是正则,也可以是函数(函数内会传入一个参数);
            'valet':function (gets,obj,curform,regxp) {
                if(obj.val()==''){
                    return '请输入购买数量';
                }
                if(parseInt(obj.val())>parseInt(obj.attr("max"))){
                    return '超过最大购买数量';
                }
                if(parseInt(obj.val())>parseInt(obj.attr("inventory"))){
                    return '超过现有库存数量';
                }
            },
            'sn':function(gets,obj,curform,regxp){//动态判断取值范围
                if(obj.val()==''){
                    return false;
                }

                if(parseInt(obj.val())>parseInt(obj.attr("max"))){
                    return false;
                }

                /*if(parseInt(obj.val())<parseInt(obj.attr("min"))){
                 return false;
                 }
                 */
                if(parseInt(obj.val())>parseInt(obj.attr("inventory"))){
                    return false;
                }

                return true;
            },
            'cm':/^((13[0-9])|(15[0-9])|(147)|(17[0-9])|(18[0-9]))\d{8}$/,//自定义手机号验证,请输入以13、14、15、17、18开头的手机号码
            'idCard': /^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/,//身份证号
            'passport':/^([a-zA-Z]\d{8}|[a-zA-Z]{2}\d{7})$/,//护照
            'officialOfCard':/^[军][0-9]{7}$/,//军官证
            'nl':/^[0-9a-zA-Z]+$/, //只能输入字母和数字
            'nl1-45':/^[0-9a-zA-Z]{1,45}$/, //只能输入字母和数字
            'need1':function(gets,obj,curform,regxp){
                var need=1,
                    numselected=curform.find("input[name='"+obj.attr("name")+"']:checked").length;
                return  numselected >= need ? true : false;
            },
            'max2':function(gets,obj,curform,regxp){
                var atmax=2,
                    numselected=curform.find("input[name='"+obj.attr("name")+"']:checked").length;

                if(numselected==0){
                    return false;
                }else if(numselected>atmax){
                    return "最多只能选择"+atmax+"项!";
                }
                return  true;
            },
            'w': /^\w+$/,
            'w6-20' :/^\w{6,20}$/,
            'pi':/^[1-9]\d{0,2}$/, //只能输入正整数 3位
            'lt365': /^([1-9]|([1-9]\d)|(1\d\d)|(3([0-4]\d|6[0-5])))$/,//小于365的正整数
            'lt100':/^([1-9]\d?|100)$/,//小于100的正整数
            'lt1000':/^([1-9]\d{0,2}|1000)$/,//小于1000的正整数
            'lt10000':/^([1-9]\d{0,3}|10000)$/,//小于10000的正整数
            'lt99':/^([1-9]\d{0,1}|99)$/,//小于999的正整数
            'lt999':/^([1-9]\d{0,2}|999)$/,//小于999的正整数
            'lt99999':/^([1-9]\d{0,4}|99999)$/,//小于99999的正整数
            'lt999999':/^([1-9]\d{0,5}|999999)$/,//小于999999的正整数
            'lint999999':/^([0-9]\d{0,5}|999999)$/,//小于999999的正整数
            'lint99999':/^([0-9]\d{0,4}|99999)$/,//小于99999的正整数
            'float99999':/^(?!0+(?:\.0+)?$)(?:[1-9]\d{0,4}|0)(?:\.\d{1,2})?$/,//保留两位小数
            'float99900': /^([1-9][\d]{0,2}|0)(\.[\d]{1,2})?$/,//最大支持 999.99
            'gt6':/^([6-9]|([1-9]\d)|([1-9]\d\d)|([1-9]\d\d\d))$/,//大于等于6的正整数
            'money': /^([0-9][\d]{0,5})(\.[\d]{1,2})?$/,//最大支持 0~999999.99
            'moneyNum': /^([0-9][\d]{0,5})(\.[\d]{1,2})|([0-9][\d]{0,5})$/,//最大支持 0~999999.99
            'price1-99999900': /^(?!0+(?:\.0+)?$)(?:[1-9]\d{0,5}|0)(?:\.\d{1,2})?$/,//最大支持 0.01~999999.99
            'price': /^(0?[0-9]\.[0,5]|[0-9]|[0-6][0-9]\.[0,5]|[0-6][0-9]|[7][0-1]\.[0,5]|[7][0-1]|[7][2]\.[0]|[7][2])$/,//正数浮点类型 例:1.0 或者1.5
            'ch1-4':/^[\u4e00-\u9fa5]{1,4}$/,//纯中文 1-4
            'ch1-5':/^[\u4e00-\u9fa5]{1,5}$/,//纯中文 1-5
            'ch1-8':/^[\u4e00-\u9fa5]{1,8}$/,//纯中文 1-8
            'ch1-10':/^[\u4e00-\u9fa5]{1,10}$/,//纯中文 1-10
            'ch1-15':/^[\u4e00-\u9fa5]{1,15}$/,//纯中文 1-15
            'ch1-20':/^[\u4e00-\u9fa5]{1,20}$/,//纯中文 1-20
            'ch1-25':/^[\u4e00-\u9fa5]{1,25}$/,//纯中文 1-25
            'ch1-30':/^[\u4e00-\u9fa5]{1,30}$/,//纯中文 1-30
            'ch1-50':/^[\u4e00-\u9fa5]{1,50}$/,//纯中文 1-50
            'ch1-150':/^[\u4e00-\u9fa5]{1,150}$/,//纯中文 1-150
            'en':/^([a-zA-Z]+)$/,//纯英文
            'en1-15':/^([a-zA-Z]{1,15})$/,//纯英文1-10
            'en1-20':/^([a-zA-Z]{1,20})$/,//纯英文1-20
            'en1-30':/^([a-zA-Z]{1,30})$/,//纯英文1-30
            'en1-50':/^([a-zA-Z]{1,50})$/,//纯英文1-50
            'ne2-10':/^([a-zA-Z0-9]{2,10})$/,//货号的限定
            'ceh1-4':/^[\u4e00-\u9fa5a-zA-Z]{1,4}$/,//支持中文和英文 最大长度4
            'ceh1-8':/^[\u4e00-\u9fa5a-zA-Z]{1,8}$/,//支持中文和英文 最大长度8
            'ceh1-10':/^[\u4e00-\u9fa5a-zA-Z]{1,10}$/,//支持中文和英文 最大长度10
            'ceh1-15':/^[\u4e00-\u9fa5a-zA-Z]{1,15}$/,//支持中文和英文 最大长度15
            'ceh1-20':/^[\u4e00-\u9fa5a-zA-Z]{1,20}$/,//支持中文和英文 最大长度20
            'ceh1-25':/^[\u4e00-\u9fa5a-zA-Z]{1,25}$/,//支持中文和英文 最大长度25
            'ceh1-50':/^[\u4e00-\u9fa5a-zA-Z]{1,50}$/,//支持中文和英文 最大长度50
            'cen1-10':/^[\u4e00-\u9fa5a-zA-Z0-9]{1,10}$/,//中文英文或者数字 1-10
            'cen1-15':/^[\u4e00-\u9fa5a-zA-Z0-9]{1,15}$/,//中文英文或者数字 1-15
            'cen1-20':/^[\u4e00-\u9fa5a-zA-Z0-9]{1,20}$/,//中文英文或者数字 1-20
            'cen1-30':/^[\u4e00-\u9fa5a-zA-Z0-9]{1,30}$/,//中文英文或者数字 1-30
            'cen1-50':/^[\u4e00-\u9fa5a-zA-Z0-9]{1,50}$/,//中文英文或者数字 1-50
            'cenSpecial1-20':/^[\u4e00-\u9fa5a-zA-Z0-9!#@$%^&*;。,,;.]{1,20}$/,//中文英文或者数字 1-20
            'special1-20':/^[\u4e00-\u9fa5a-zA-Z0-9()}{_+=!`~#@$%^&*;。,,;.]{1,20}$/,//中文英文或者数字 1-20
            'sort':/^([1-9]\d{0,4}|99999)$/,//排序
            'lpr':/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/,//车牌号校验规则
            'nes':/^(?![0-9]+$)(?![a-zA-Z]+$)(?![!#$%^&*]+$)[0-9a-zA-Z!#@$%^&*]$/,//必须字母开头,包含数字字母特殊符号
            'nes6-20':/^(?![0-9]+$)(?![a-zA-Z]+$)(?![!#$%^&*]+$)[0-9a-zA-Z!#@$%^&*]{6,20}$/,//必须字母开头,包含数字字母特殊符号6-20
            'nes1-20':/^(?![0-9]+$)(?![a-zA-Z]+$)(?![!#$%^&*]+$)[0-9a-zA-Z!#@$%^&*;.,]{1,20}$/,//必须字母开头,包含数字字母特殊符号6-20
            'ne':/^(?![0-9]+$)(?![a-zA-Z]+$)[a-zA-Z][0-9a-zA-Z_]$/,// 包含数字字母_以字母开头
            'ne4-15':/^(?![0-9]+$)(?![a-zA-Z]+$)[a-zA-Z][0-9a-zA-Z_]{4,15}$/,// 包含数字字母_4-15位以字母开头
            'coe':/^([\u4e00-\u9fa5]+|([a-zA-Z]+\s?)+)$/,//纯中文或者纯英文
            'coe1-10':/^([\u4e00-\u9fa5]{1,10}|([a-zA-Z]+\s?){1,10})$/,//纯中文或者纯英文 最大长度10
            'houseNumber':/^\d{1,}-\d{1,}-\d{1,}$/,//房号校验
            'parking':/^[0-9]{5}$/,//车位号  00001~99999
            'goodId':/^[0-9a-z]{32}$/,//商品id
            'loginName6-30':/^[0-9a-zA-Z_]{6,30}$/, // 登录名 支持英文数字和下划线,6~30
            'url':/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/,
            'urlAll':/http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/,
            'url6-20':/^[0-9a-zA-Z\.!#@$%^&*:_{}\/]{6,20}$/,
            'url1-255':/^[0-9a-zA-Z\.!#@$%^&*:_{}\/]{1,255}$/, // 支持数字字母特殊符号1-255
            'code1-50':/^([a-zA-Z\-_]{1,50})$/,
            'str1-20':/^\S{1,20}$/, // 1-20位字符串
            'str1-30':/^\S{1,30}$/, // 1-30位字符串
            'str1-200':/^\S{1,200}$/, // 1-200位字符串
            'number_symbol_15':/^[0-9!#@$%^&*:_.,;'~()]{1,15}$/,
            'moneySection': function (gets,obj,curform,regxp) {//金额区间
                var float2=/^(?!0+(?:\.0+)?$)(?:[1-9]\d*|0)(?:\.\d{1,2})?$/;
                var minMoney = $(obj).attr('minMoney');//最小金额
                var maxMoney = $(obj).attr('maxMoney');//最大金额
                if(!float2.test(gets)){// 验证金额
                    return '请输入正整数或者两位小数';
                }
                if(minMoney && gets < parseFloat(minMoney)){
                    return '输入金额不能小于'+minMoney+'元';
                }
                if(maxMoney && gets > parseFloat(maxMoney)){
                    return '输入金额不能超过'+maxMoney+'元';
                }
                return true;
            },
            'disableCheck':function(gets,obj){
            //if(  $(obj).prop('disabled') && (/^([0-9]\d{0,4}|99999)$/.test(gets))) {
            if ($(obj).attr('over')=='true' && (/^([0-9]\d{0,4}|99999)$/.test(gets))) {
                return true;
            }
                return false;
            },
            'intSection': function (gets,obj,curform,regxp) {//整数区间
                var intExp=/^-?\d+$/,
                    minInt = $(obj).attr('minInt'),//最小数值
                    maxInt = $(obj).attr('maxInt');//最大数值
                if(!intExp.test(gets)){// 验证金额
                    return '请输入整数';
                }
                if(minInt && gets < parseInt(minInt)){
                    return '输入数字不能小于'+minInt;
                }
                if(maxInt && gets > parseInt(maxInt)){
                    return '输入数字不能大于'+maxInt;
                }
                return true;
            },
            'order':function (gets,obj,curform,regxp) {
                if(gets.length>0){
                     var reg = /^[1-9]\d{5,29}$/;
                     if(!reg.test(gets)){
                        return '请输入6-30位数字';
                     }
                 }
                 return true;
            },
            'activityLessThanAppoint': function (gets,obj,curform,regxp) {
                if(!/^([1-9]\d{0,5}|999999)$/.test(gets)){// 验证金额
                    return '请输入1~999999正整数';
                }
                /*与库存对比*/
                var inventoryCount = $(obj).attr('inventoryCount');//对比对象id
                var inventoryMsg = $(obj).attr('inventoryMsg');//提示信息
                if($(inventoryCount).val()!=''&&(gets > parseInt($(inventoryCount).val()))){
                    return inventoryMsg;
                }
                /*与最大值做对比*/
                var appoint = $(obj).attr('cus-obj');//对比对象id
                var msg = $(obj).attr('cus-msg');//提示信息
                if($(appoint).val()!=''&&(gets > parseInt($(appoint).val()))){
                    return msg;
                }

                return true;
            },
            'inventoryGtlimit':function(gets,obj,curform,regxp){
                /*与库存对比*/
                var inventoryCount = $(obj).attr('inventoryCount');//对比对象id
                var inventoryMsg = $(obj).attr('inventoryMsg');//提示信息
                if(gets == ''){
                    return $(obj).attr('nullmsg');
                }
                if($(inventoryCount).val()!=''&&(gets > parseInt($(inventoryCount).val()))){
                    return inventoryMsg;
                }
                return true;
            },
            'password6-20': /^(?!^(\d+|[a-zA-Z]+|[~!@#$%^&*?]+)$)^[\w~!@#$%\\^&*?]{6,20}$/,// 密码
            'template':function(gets){
                if(gets.indexOf('##')>-1){
                    return '不能有##字符';
                }

            },
            'relateUrl':function (gets,obj) {
                var sMessageType = $("select[name='messageType']").val();
                if(sMessageType == 'text'){
                    return true;
                }else{
                   if(gets.length>0){
                       return true;
                   }else{
                       return '请填写对应的链接';
                   }
                }
            }
        },
        /*beforeCheck:function(curform){
         //在表单提交执行验证之前执行的函数,curform参数是当前表单对象。
         //这里明确return false的话将不会继续执行验证操作;
         },*/
        beforeSubmit:function(curform){
            App.loader('show');
            return true;
            //在验证成功后,表单提交前执行的函数,curform参数是当前表单对象。
            //这里明确return false的话表单将不会提交;
        },
        callback:function(data){//回调函数
            App.loader('hide');
            if(typeof data.responseJSON=="object"){//laravel 校验错误
                message=objectToString(data.responseJSON);
                data={code:'error',message:message};
            }
            requestCallback(data,'');//调用校验函数处理错误信息
            // if(typeof callback == 'function'){
            //     callback(data);
            // }else{
            //     requestCallback(data,callback);//调用校验函数处理错误信息
            // }
        },
        ajaxPost:true
    };
}

 

posted on 2018-11-30 11:30  running-fly  阅读(4789)  评论(0编辑  收藏  举报

导航