VUE通用验证方法

VUE通用验证方法

main.js

//输入框禁止输入特殊符号
Vue.prototype.validSe = function (value) {
    value = value.replace(/[`~*~!@#$%^&*()_\-+=<>?:"{}|,./;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、]/g, '').replace(/\s/g, "");
    return value;
};
//只能输数字和英文
Vue.prototype.numberen = function (value) {
    value = value.replace(/[^\a-\z\A-\Z0-9]/g, '')
    return value
};
//只能输大于0的正整数
Vue.prototype.idOnlyz = function (value) {
    if (Number(value) <= 0) {
        value = "";
        return value;
    }
    value = value.replace(/[^0-9]/g, '');
    return value
};
//只能输正整数
Vue.prototype.idOnly = function (value) {
    
    value = value.replace(/[^0-9]/g, '');
    return value
};
//金额书写补0
Vue.prototype.salary0 = function (value) {
    if (value < 0) {
        value = "";
        return value;
    }
    if (!/\./.test(value)) {
        value += ".00";
    } //为整数字符串在末尾添加.00
    if (/^\./.test(value)) {
        //字符以.开头时,在开头添加0
        value = "0" + value;
        value += "00"; //在字符串末尾补零
        value = value.match(/\d+\.\d{2}/)[0];
    }
    value = Number(value).toFixed(2);
    return value;
}
//金额书写
Vue.prototype.salary = function (value) {
    value = value.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符
    if (value < 0) {
        value = "";
        return value;
    }
    var posDot = value.indexOf("."); //返回指定字符在此字符串中第一次出现处的索引
    if (posDot < 0) {
        //不包含小数点
        if (value.length <= 7) {
            return value; //小于7位数直接返回
        } else {
            // this.value.delete(7, 6);//大于7位数就删掉第8位(只会保留7位)
            if (value.length > 7) {
                value = value.substring(
                    0,
                    7
                );
            }
            return value;
        }
    }
    //走到这有小数点
    if (posDot > 7) {
        if (value.length > 7) {
            value = value.substring(0, 7);
        }
        return value;
    }
    value = value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的
    value = value
        .replace(".", "$#$")
        .replace(/\./g, "")
        .replace("$#$", ".");
    value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3"); //只能输入两个小数

    return value
};
// 清除数字和.和-以外的字符
Vue.prototype.salary1 = function (value) {
    value = value.replace(/[^-?\d.]/g, ""); //清除"数字"和"."以外的字符
    // if (value < 0) {
    //     value = "";
    //     return value;
    // }
    var posDot = value.indexOf("."); //返回指定字符在此字符串中第一次出现处的索引
    if (posDot < 0) {
        //不包含小数点
        if (value.length <= 7) {
            return value; //小于7位数直接返回
        } else {
            // this.value.delete(7, 6);//大于7位数就删掉第8位(只会保留7位)
            if (value.length > 7) {
                value = value.substring(
                    0,
                    7
                );
            }
            return value;
        }
    }
    //走到这有小数点
    if (posDot > 7) {
        if (value.length > 7) {
            value = value.substring(0, 7);
        }
        return value;
    }
    value = value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的
    value = value
        .replace(".", "$#$")
        .replace(/\./g, "")
        .replace("$#$", ".");
    value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3"); //只能输入两个小数

    return value
};
Vue.prototype.salary2 = function (value) {
    // if (value <= 0) {
    //     value = "";
    //     return value;
    // }
    if (!/\./.test(value)) {
        value += ".00";
    } //为整数字符串在末尾添加.00
    if (/^\./.test(value)) {
        //字符以.开头时,在开头添加0
        value = "0" + value;
        value += "00"; //在字符串末尾补零
        value = value.match(/\d+\.\d{2}/)[0];
    }
    value = Number(value).toFixed(2);
    return value;
}

页面中

<el-input 
                  :value="send.provident"
                  @input="e => send.provident= salary(e)" 
                  @change="e =>send.provident = salary0(e)"
                   placeholder="请输入内容"></el-input>

只能输入数字英文和-

onkeyup="value=value.replace(/[^\w\-]/ig,'')"

只能输入数字汉字英文和-#

οnkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\-\#]/g,'')"

不能输入空格

οnkeyup="value=value.replace(/\s+/g,'')"

电话验证

 maxlength="16"
  @input="(e) => (item.tel = item.tel.replace(/[^0-9-]+/, ''))"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值