【问题标题】:How to remove the leading zeros in the number inside input type='number'?如何删除 input type=\'number\' 中数字中的前导零?
【发布时间】:2023-01-31 13:43:48
【问题描述】:

我是 React JS 的初学者。我有一个用例,我想更正用户在 <input type='number> 字段中输入的数字。

默认情况下,用户可以输入带前导零的数字,例如 0002 或 -0042 等。

我想让它在用户输入数字时删除前导零。此外,用户应该能够输入小数和负数。我已经使用 onBlur 完成了它,但我想以某种方式自己使用 onChange 方法来完成它。

onChange=()=>{ ... }

<input type = 'number' onChange={onChange}>

【问题讨论】:

    标签: javascript reactjs typescript


    【解决方案1】:

    您可以使用正则表达式:

    onChange = (e) => {
        const _removedZeros = e.target.value.replace(/^0+/, '')
        ///... do something with _removedZeros string here
    }
    

    【讨论】:

      【解决方案2】:

      我想让它在用户输入数字时删除前导零。

      您可以使用 String.replace 删除前导零:

          // ... code that obtains the user input in `inputText` ...
          inputSanitisedText = inputText.replace(/^0+/, '')
      

      (我假设你不想改变用户的输入尽管他们正在进入它。那将是非常糟糕的 UI 设计。)

      【讨论】:

        猜你喜欢
        • 2012-01-16
        • 2015-08-18
        • 2011-12-11
        • 2012-10-17
        • 2011-10-04
        • 1970-01-01
        • 1970-01-01
        • 2018-04-30
        • 1970-01-01
        相关资源
        最近更新 更多