加载中...
  • uni-app 文本输入只能输入正整数

    在某些场景中,要对文本输入进行过滤显示,
    例如:不能是文字,不能是特殊符号,不能是0开头,不能持续000等等问题。哈哈,看起来是不是很简单的样子,但是我用了近两天的时间才解决。。。。。害,还是记录下吧,

    1
    <input type="number" v-model="sum" @input="click" />
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32

    export default {
    data() {
    return {
    sum: 0,
    }
    },
    methods: {
    click(e){
    const v = e.detail.value
            this.sum = '1'

            const zero = /^(0{2,})|[^0-9]/g
            let final = 0
            if (!v) {
              final = 0
            } else {
              final = v.toString().replace(zero, (v) => {
                return 0
              })

              if (final.split('')[0] * 1 === 0) {
                final = final.slice(1) - 0 || 0
              }
            }
            this.$nextTick(() => {
              this.sum = final.toString() || '0'
            })
    },
    }
    }

    上一篇:
    localStorage 存满了怎么办?
    下一篇:
    使用Jquery中ajax实现上传文件
    本文目录
    本文目录