控制单个el-input只能输入正整数或小数

本文介绍了一种JavaScript方法,用于限制用户输入仅限于正整数和小数,并通过实时验证确保数据格式正确。同时提供了如何在失去焦点时去除无效字符的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
input事件发生时检测输入字符
blur用来去除以.结尾时末尾的.

 // 禁止输入字母汉字,以及3.3.3或3...3以及00,03形式,只能输入正整数和小数
    inputChange(index, val) {
      val = val.toString()
      let num
      num = val.replace(/[^\d.]|^\./g, '') // 禁止输入非数字和'.'以及以'.'开头的
      num = num.replace(/^0[0-9]/g, 0) // 开头是0且其后跟的不是'.'替换为0,形如00,01
      num = num.replace(/\.{2,}/g, '.')// 多个'.'相连替换为一个'.'
      if ((val.match(/\./g)) && (val.match(/\./g).length > 1)) { // 当出现3.3...3是时,只保留3.
        let index = val.indexOf('.')
        num = val.slice(0, index + 1)
      }
      this.spaceTableData[index].sellPrice = num
    },
    // 失去焦点时,去除末尾.
    onBlur(index, val) {
      let num = val.replace(/\.$/g, '')
      this.spaceTableData[index].sellPrice = num
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值