解决input='number'能输入e和负数 限制input输入位数问题

博客指出input='number'时能输入'-'和'e'的情况,解释了e能输入是因其在数学上代表数字。还给出解决办法,如用onkeypress限制输入数字,以及除maxlength外,用oninput限制输入位数。

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

在input='number‘的时候还是能输入'-'和'e',我查了别人的博客,解释为:

正常情况下e不是数字所以不能被输入,原因是e在数学上代表2.71828,所以它也还是一个数字

解决这个情况可以这样写:

<input type="number" class="form-control" onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))"  placeholder="请输入" >
另外,限制位数时除了maxlength之外还可以这样写:

<input type="number" class="form-control" oninput="if(value.length>14)value=value.slice(0,14)"  placeholder="请输入">
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值