【发布时间】:2021-04-10 06:20:06
【问题描述】:
我正在尝试使用以下模式创建输入掩码:“4.01.05.01-6”。在 onchange 方法中,我执行了一个使用 replace 方法的函数:
value = value
.replace(/\D/g, '')
.replace(
/^(\d{1})(\d{2})(\d{2})(\d{2})(\d{1})/,
'$1.$2.$3.$4-$5'
)
问题是当我有 8 位数字时,我只在正则表达式完全匹配后才收到被屏蔽的输入值。那不是我想要的。我想输入输入,并且在我输入时掩码将起作用,例如,如果我只是输入“1234”,我想输入值“1.23.4”
OBS: 我不关心以下信息,但我使用的是带有受控输入的 React,这个名为“value”的变量用于创建 setState。
【问题讨论】:
标签: javascript reactjs regex replace