【发布时间】:2019-12-11 14:59:07
【问题描述】:
我正在尝试在输入字段中每 4 个数字后添加一个空格。
这是我的代码:
credit: function(e) {
const val = e.target.value;
const valArray = val.split(' ').join('').split('');
if(isNaN(valArray.join('')))
return;
if(valArray.length === 17)
return
if(valArray.length % 4 === 0) {
this.setState({ number: e.target.value + " " });
}else{
this.setState({ number: e.target.value})
}
},
规则如下:用户只能写numbers,长度应为 16,并在每 4 个数字后添加空格。
问题是:
1:在数字的末尾有一个额外的空格,在最后一个数字之后添加
2:我不能使用backspace删除元素(推回空格后会在数字前面添加空格)
【问题讨论】:
-
可能想看看类似这个反应文本掩码的库:npmjs.com/package/react-input-mask
-
其实不想自己做
-
当然,但您仍然可以查看库,看看他们是如何解决相同问题的
-
@Enzo 看看这个:stackoverflow.com/a/36568611/2280670
标签: javascript reactjs