我需要在React中将SSN字段屏蔽为123-45-6789,
我的目标是在不使用反应输入掩码,输入掩码等插件的情况下这样做。
My input 123456789
Expected input 123-45-6789
我们可以这样做吗?通过正则表达式或没有插件的东西。
任何帮助都将不胜感激。
答案 0 :(得分:3)
您可以使用正则表达式在onChange事件期间执行此操作,如下所示:
_onInputChange = (event) => {
var string = event.target.value;
string = string.replace(/-/g, "");
var regex = /^([^\s]{3})([^\s]{2})([^\s]{4})$/g;
var match = regex.exec(string);
if (match) {
match.shift();
string = match.join("-")
}
this.setState({ssn: string});
}
这是一个有效的fiddle
但是这只会在输入整个数字后屏蔽该值。