rulejs正则验证记录

项目elementUI表单验证,需要统一验证下共有的,就加了个rulejs做个记录,有需要的小伙伴考可以参考下

直接贴代码吧,标红的部分就是相应的正则

    // 长度
    function checkValNumLengths (rule, value, callback) {
        if(value){
            if(value.length>rule.length){
                callback(new Error('最多'+rule.length+'个字'))
            }else{
                callback()
            }
        }else{
            callback()
        }
    }
    //  0~180间,6位小数 经度
    function checkMapXNum10 (rule, value, callback) {
        <strong>var reg =/^(\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,6})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|0\.0{0,6}|180)$/</strong>
        if(value){
            if(value.length>rule.length){
                callback(new Error('0~180间的数字,最多6位小数'))
            }else{
                if(!reg.test(value)){
                    callback(new Error('0~180间的数字,最多6位小数'))
                }else{
                    callback()
                }
            }
        }else if(value !== 0){
            callback()
        }else{
            callback(new Error('0~180间的数字,最多6位小数'))
        }
    }
    //  0~90间,6位小数 纬度
    function checkMapYNum10 (rule, value, callback) {
        <strong>var reg =/^(\+)?([0-8]?\d{1}\.\d{0,6}|0\.0{0,6}|[0-8]?\d{1}|90)$/</strong>
        if(value){
            if(value.length>rule.length){
                callback(new Error('0~90间的数字,最多6位小数'))
            }else{
                if(!reg.test(value)){
                    callback(new Error('0~90间的数字,最多6位小数'))
                }else{
                    callback()
                }
            }
        }else if(value !== 0){
            callback()
        }else{
            callback(new Error('0~90间的数字,最多6位小数'))
        }
    }
    // 0~999999999间,2位小数
    function checkValDecimalNum9S9 (rule, value, callback) {
        <strong>var reg =/^([1-9]\d{0,8})([.]\d{1,2})?$|^0[.]([1-9]\d{0,1}|[0-9][1-9])$/</strong>
        if(value){
            if(value.length>rule.length){
                callback(new Error('0~999999999间的数字,最多2位小数'))
            }else{
                if(value>999999999 || !reg.test(value)){
                    callback(new Error('0~999999999间的数字,最多2位小数'))
                }else{
                    callback()
                }
            }
        }else{
            callback()
        }
    }
    // 0~999999999间,整数
    function checkValIntegerNum9S9 (rule, value, callback) {
        <strong>var reg =/^([1-9]\d{0,8})?$|^0$/</strong>
        if(value){
            if(!reg.test(value)){
                callback(new Error('请输入0~999999999间的整数数字'))
            }else{
                callback()
            }
        }else{
            console.log(value)
            callback()
        }
    }

    // 0~100、2位小数
    function checkValDecimalNum100 (rule, value, callback) {
        <strong>var reg =/^(100)$|^((\d|[1-9]\d)(\.\d{1,2})?)$/</strong>
        if(value){
            if(value.length>rule.length){
                callback(new Error('请输入0~100间的数字,最多2位小数'))
            }else{
                if(!reg.test(value)){
                    callback(new Error('请输入0~100间的数字,最多2位小数'))
                }else{
                    callback()
                }
            }
        }else{
            callback()
        }
    }// 正整数字
    function validatorNum (rule, value, callback){
        <strong>var verificationRule =/^([1-9]\d*|[0]{1,1})$/;
        </strong>if(value){
            if(rule.length&&value.length>rule.length){
                callback(new Error('最长'+rule.length+'位数字'))
            }else if(verificationRule.test(value)){
                callback()
            }else if(!verificationRule.test(value)){
                callback(new Error('输入格式错误'))
            }
        }else{
            callback()
        }
    }
    // 整数字(包含负整数)
    function validatorIntegralNum (rule, value, callback){
        <strong>var verificationRule =/^(0|[1-9][0-9]*|-[1-9][0-9]*)$/;
        </strong>if(value){
            if(rule.length&&value.length>rule.length){
                callback(new Error('最长'+rule.length+'位数字'))
            }else if(verificationRule.test(value)){
                callback()
            }else if(!verificationRule.test(value)){
                callback(new Error('输入格式错误'))
            }
        }else{
            callback()
        }
    }

声明:该文章系转载,转载该文章的目的在于更广泛的传递信息,并不代表本网站赞同其观点,文章内容仅供参考。

本站是一个个人学习和交流平台,网站上部分文章为网站管理员和网友从相关媒体转载而来,并不用于任何商业目的,内容为作者个人观点, 并不代表本网站赞同其观点和对其真实性负责。

我们已经尽可能的对作者和来源进行了通告,但是可能由于能力有限或疏忽,导致作者和来源有误,亦可能您并不期望您的作品在我们的网站上发布。我们为这些问题向您致歉,如果您在我站上发现此类问题,请及时联系我们,我们将根据您的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。