如何仅使用正则表达式在 reactjs 的文本框中只允许数字?
原文由 Soumya Behera 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何仅使用正则表达式在 reactjs 的文本框中只允许数字?
原文由 Soumya Behera 发布,翻译遵循 CC BY-SA 4.0 许可协议
毫无疑问, Mayank Shukla 提供的答案是正确的。
但取而代之的是,您可以只使用默认的 html 属性 type="number"
。
在这种情况下无需使用正则表达式 <input type="number" value={this.state.value} onChange={this.onChange}/>
将只接受数字。
原文由 abhishake 发布,翻译遵循 CC BY-SA 3.0 许可协议
基本思路是:
使用 受控组件(使用输入字段的 value 和 onChange 属性),并在 onChange 句柄内部检查输入的值是否为正确的数字。仅当输入的值是有效数字时才更新状态。
为此使用这个 正则表达式:
/^[0-9\b]+$/;
onChange 处理程序将是:
工作示例: