vue input限制输入2位小数最大位1

                 <el-input
                  v-model="group.score"
                  placeholder="文本框"
                  style="width: 150px; margin-right: 10px"
                  @input="checkInput(group,index)"
                ></el-input>
    checkInput(group, index) {
  // 移除非数字、小数点和多余的小数点
  group.score = group.score.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.');

  // 最多保留两位小数
  let decimalIndex = group.score.indexOf('.');
  if (decimalIndex !== -1) {
    group.score = group.score.substring(0, decimalIndex + 3);
  }

  // 移除以0开头的多余数字
  group.score = group.score.replace(/^0+(\d+)/, '$1');

  // 最大值限制为1
  let floatValue = parseFloat(group.score);
  if (isNaN(floatValue)) {
    // 如果转换后不是数字,则将其设置为空字符串
    group.score = '';
  } else if (floatValue > 1) {
    group.score = '1';
  } else if (floatValue === 1 && group.score.indexOf('.') !== -1) {
    // 如果输入值已经是1且含有小数点,则移除小数点
    group.score = '1';
  }

  // 强制更新视图
  this.$forceUpdate();
},

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值