直接贴图了:
之前的写法是:
@keyup.native="
addForm.code = (addForm.code || '').replace(
/[\u4E00-\u9FA5]|[\uFE30-\uFFA0]/g,
''
)
"
上述这种写法会引发一个偶发性问题,输入中文后,英文会输不进去,而且特殊字符校验没有生效,修改之后的写法:
@input="codeInput"
用input事件
methods里面定义:
注:校验特殊字符:[`~!@#$%^&*()_\-+=<>?:"{}|,./;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、] 灰常有效哦
codeInput(val) {
val = val.replace(
/[\u4E00-\u9FA5]|[`~!@#$%^&*()_\-+=<>?:"{}|,./;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、]/g,
""
);
this.addForm.code = val; // 不要忘了把校验之后的值赋值给表单这一项
},