我正在尝试使用 React 制作信用卡/借记卡表格。我想在每 4 位数字后自动插入空格并仅强制用户输入数字。例如,如果输入 1234567891234567,它将变为带有空格 1234 5678 9123 4567。问题是当我按退格键时,空格不能被删除,因为我使用了 onChange 事件。我是 React 新手,可能需要不同的方法。我还能用什么来使退格正常工作以及如何禁止写字母(仅限数字)?
const [cardNumber, setCardNumber] = useState('')
const handleChange = async (e) => {
if (e.target.value.length === 4) {
e.target.value += ' '
} else if (e.target.value.length === 9) {
e.target.value += ' '
} else if (e.target.value.length === 14) {
e.target.value += ' '
}
setCardNumber(e.target.value)
}