限制input输入框只能输入特定的数值类型(正整数、正浮点)(vue)

本文介绍了如何在Vue项目中限制input输入框只能接受正整数和正浮点数。主要通过设置input的type为number以及监听input事件,结合正则表达式实时过滤非法字符。
摘要由CSDN通过智能技术生成

限制input输入框只能输入特定的数值类型(整数、浮点)(vue)


1. input输入框:type = number 的作用

- 限制非数值相关字符的输入,特殊字符 "e" "." 各只能输入一个, "+" "-" 加起来最多能输入2个

- 会使 e.target.value = Number(e.target.value) || ''

- 注意:当输入不正确的数值时,输入框里的内容还存在,但 e.target.value 已经为空,容易产生误解

- 会给输入框加上上下箭头的控件,不喜欢的可以通过css样式去掉,后面代码再说明

2. 输入时监听input事件,结合正则表达式去除不符合的字符

  • 具体代码实现及解释(具体只涉及正数的,若要有负数的就不能用type=number了,规则还要略作修改):

    // -----html(start)------
    
    // 原生input
    // title="" 是去掉数值框的提示
    <input
      	class="inputNumber"
      	title=""
      	type="number"
      	v-model="inputValue"
     	@input="inputHandle($event, null, 'inputValue')
    />
    
    // 使用第三方的组件库时,组件内有this.$emit('input', e.target.value),使用为获得事件对象,使用 @input.native 的方式
    <el-input
      	class="inputNumber"
      	title=""
      	type="number"
      	v-model="inputValue"
      	@input.native="inputHandle
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值