输入框限制了maxLength,使用了type="number”,但是在Safari浏览器仍然可以输入非数字内容,可以超过限制的长度,但是在控制台打印输出,则不会输出输入的值。
解决办法:
type="text"//替换number为text。
//这个是一边输入,一边判断的函数,onChange={handleInputChange}
const handleInputChange = (e) => {
const value = e.target.value;
//这段代码的作用是将字符串中的非数字字符(除了0-9之外的字符)替换为空字符串。
const numericValue = value.replace(/\D/g, "");
//regex是对数字的判断的正则表达式
if (!regex.test(numericValue)) {
setInputValue(numericValue);
return;
}
if (value.length <= 11) {
setInputValue(numericValue);
}
};