首页 > 解决方案 > 限制用户在反应金额字段中输入的值

问题描述

我想限制用户,使他不能在输入值中输入超过 50000。我应该如何在反应中做到这一点?我在 onchange 事件中这样做。

 onPaymentAmountChanged = (e) => {

        let inputValue = e.target.value;
        if ( inputValue > Number(50000)) {
            console.log(inputValue);
            inputValue=inputValue.replace(/[^0-9.]/,"");
        }
}

但上面的事情并没有让我限制这一点。请提出一些建议

标签: javascripthtmlreactjsregexvalidation

解决方案


onPaymentAmountChanged = (e) => {
  const inputNumber = parseInt(e.target.value); //parseFloat if you have decimals
  if (Number.isNaN(inputNumber)) {
    console.log(0) // set default state for NAN inputs
  } else if (inputNumber > 50000) {
    console.log(50000) // set state = max value for larger inputs 
  } else {
    console.log(inputNumber)
  }
}

推荐阅读