限制输入框只能输入数字和小数点,并且小数点后只能输入两位小数

方法:(Vue项目中的写法)

checkPrice (val) {
      let checkPlan = '' + val
      checkPlan = checkPlan
        .replace(/[^d.]/g, '') // 清除“数字”和“.”以外的字符
        .replace(/.{2,}/g, '.') // 只保留第一个. 清除多余的
        .replace(/^./g, '') // 保证第一个为数字而不是.
        .replace('.', '$#$')
        .replace(/./g, '')
        .replace('$#$', '.')
      if (checkPlan.indexOf('.') < 0 && checkPlan !== '') {
        // 以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
        checkPlan = parseFloat(checkPlan) + ''
      } else if (checkPlan.indexOf('.') >= 0) {
        checkPlan = checkPlan
          .replace(/^()*(d+).(dd).*$/, '$1$2.$3') // 只能输入两个小数
      }
      return checkPlan
    },

使用:

<el-input v-model="money" :change="money = checkPrice(money)">
原文地址:https://www.cnblogs.com/meiyanstar/p/15504610.html