input输入框只能输入,0-100之间的数字,保留两位小数

通过计算属性,处理一下输入的值(具体写法可以看下面代码的注释)

  computed: {

     techInputData: { // 科技人员input输入框输入的值
        get() {
          var value = this.tableData.scienceStaffNumPer // 将输入框的值赋值给value
          if (Number(value)!==parseFloat(value)) { // 判断输入的是否是数字,如果不是,返回空
            return ''
          }
          if (value < 0) { // 如果输入的值小于0
            return 0;
          } else if (value >= 100) { // 如果输入的值大于等于100
            return 100;
          } else {
            return value.toString().match(/^\d+(?:\.\d{0,2})?/) // 只能输入小数点后两位
          }
        },
        set(val) {
          this.tableData.scienceStaffNumPer = val; // 重新将计算属性处理过的值,赋值给这个input
        },
     },
}

此代码只能,输入0-100之间的数字,其他字符,均无法输入

正整数:
 

<el-input v-model="num" type="number" placeholder="请输入" oninput="if(!/^[0-9]+$/.test(value)) value=value.replace(/\D/g,'');if(value>100)value=100;if(value<0)value=null" />

保留小数点两位:

<el-input
  v-model="money"
  type="number"
  clearable
  placeholder="请输入固定金额"
  oninput="if(!/^[0-9]+$/.test(value)) value=value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');if(value>100)value=100;if(value<0)value=null;if(value<0)value=null;if((value[0] == 0 && value[1] > 0) || value == '00')value=value.slice(1);"
/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值