输入限制(正则表达式)

2021-04-20  本文已影响0人  wxw_威

输入框校验

<cube-input v-model="inputValue" @input="changeInput"></cube-input>

changeInput(v) {
    let va = v + '';
    // 最大输入9999,正则表达式不会写
    if (parseFloat(va) > 10000) {
        va = '9999'
    }
    va = va
    .replace(/[^\d.]/g, "") //将非数字和点以外的字符替换成空
    .replace(/^\./g, "") //验证第一个字符是数字而不是点
    .replace(/\.{2,}/g, ".") //出现多个点时只保留第一个
    .replace(".", "$#$") // 1、将数字的点替换成复杂字符$#$
    .replace(/\./g, "") // 2、将字符串的点直接清掉
    .replace("$#$", ".") // 3、将复杂字符再转换回点
    .replace(/^(\\-)*(\d+)\.(\d\d).*$/, "$1$2.$3"); //只能输入两个小数
    }
    this.$nextTick(() => {
        this.inputValue = va
    })
},
上一篇下一篇

猜你喜欢

热点阅读