关于input type='number'去掉箭头 且不能输入e和标点符号

关于去掉箭头 且不能输入e和标点符号

  • 1.input数字框去掉箭头

在这里插入图片描述
由图所示:数字框空间本来就很小,然后还被箭头占用;
在这里插入图片描述
由图所示:数字框虽然css样式设置居中对齐,但是由于被箭头占用,所以不能居中对齐显示,不美观;
在这里插入图片描述
由图所示:数字框空间本来就很小,由于箭头占用,导致两位数不能完全显示.

结构代码如下:

<input type="number" v-model="item5.OUTPUT" min="0" step="1" class="NUM-INPUT">
  • 解决办法:

更改input数字框的样式,需要注意:有可能会涉及css样式的权重问题;
我是在需要去除箭头的html结构上添加类名NUM-INPUT

<input type="number" v-model="item5.OUTPUT" min="0" step="1" class="NUM-INPUT">
input.NUM-INPUT::-webkit-outer-spin-button,
input.NUM-INPUT::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

请看下图改善后结果:
在这里插入图片描述

  • 2.禁止输入字母e和标点符号

现象描述如下图:
在这里插入图片描述
为什么其他字母不能输入,但是e可以输入数字框呢?
原因是e在数学上代表一常量2.71828,所以它也还是一个数字,当然就可以输入进去;
除此之外,还有+-*/.这些特殊的运算符号也能输入数字框.
那如果我只想让用户输入纯数字,怎么办?

  • 解决办法1:

<input type="number" v-model="item5.OUTPUT" min="0" step="1" class="NUM-INPUT" onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))">

这个方法只适用于输入正整数

  • 解决办法2:

<input type="number" v-model="item5.OUTPUT" min="0" step="1" class="NUM-INPUT" oninput="this.value=this.value.replace(/[^0-9.]+/g,'');">

如果需要输入小数可以把"."从正则表达式保留

其实方法还有很多,只要能够解决问题就好~

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值