【发布时间】:2020-12-01 14:01:35
【问题描述】:
我想限制用户,使他不能在输入值中输入超过 50000。我应该如何在反应中做到这一点? 我在 onchange 事件中这样做。
onPaymentAmountChanged = (e) => {
let inputValue = e.target.value;
if ( inputValue > Number(50000)) {
console.log(inputValue);
inputValue=inputValue.replace(/[^0-9.]/,"");
}
}
但是上面的事情并没有让我限制这一点。请提出一些建议
【问题讨论】:
-
使用
<input type="number" min="1" max="50000">即可。试图纠正用户的输入会出现很多问题,并且会产生糟糕的用户体验。您的目标应该是提供可操作的错误消息。 -
onblur 将值更改为 50000.00 这会有什么影响吗?我的意思是这也适用于 50000.00
-
为什么会变成
50000.00?这听起来不像标准的浏览器行为。无论如何,小数点是否重要取决于您。重要的是停止尝试修复用户的输入,因为你只会让事情变得令人沮丧。
标签: javascript html reactjs regex validation