【发布时间】:2021-03-03 10:10:52
【问题描述】:
我正在尝试验证用户应仅在文本框中键入数字的文本框。这是我的代码
import { useState } from "react";
export default function App() {
const [phoneNumber, setPhoneNumber] = useState(null);
const handleOnChange = (val) => {
if (!isNaN(val)) {
setPhoneNumber(val);
}
};
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>
<input
type="text"
value={phoneNumber}
onChange={(e) => handleOnChange(e.target.value)}
/>
</div>
);
}
https://codesandbox.io/s/kind-moon-x6il3?file=/src/App.js:0-513
如果我们从它没有验证的字符串开始,它允许您输入字符串。如果我们从数字开始,它工作正常。
如果我将输入类型更改为数字,我将面临字符 e 的一些问题。
如何解决这个问题?
【问题讨论】:
-
您好,您是否尝试过将您的电话号码的初始值更改为空字符串“”而不是 null?
标签: javascript reactjs regex