【问题标题】: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 设计。)