vue 加 elementui的el-input设置只能输入特定字符,比如只能输入数字,字母加数字,汉字加字母:
html代码
<el-input v-model="num"></el-input>
在watch里监听输入的值:
只能输入数字
watch: {
num: function(val) {
if(val) {
this.num = val.replace(/\D/g,'')
}
}
}
只能输入字母和数字:
watch: {
num: function(val) {
if(val) {
this.num = val.replace(/[^\w]/g,'')
}
}
}
只能输入汉字和字母:
watch: {
num: function(val) {
var reg = /[\d]|"|<|>|[\(\)\……\~\`\·\|\【\】\》\《\'\!\!\{\}\#\$\¥\%\^\&\*\(\)\[\]\:\;\:\;\\\‘\’\“\”\,\,\.\。\/\、\?\?\_\——\—\=\+]|@|/g;
if(val) {
this.num = val.replace(reg,'')
}
}
}
特殊字符的校验
watch: {
num: function(val) {
if(val) {
this.num = val.replace(/[`~!@#$%^&*+<>{}\/'[\]]/im,'')
}
}
}
加上校验后,不符合要求的值会被清掉。