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]|&quot;|&lt;|&gt;|[\(\)\……\~\`\·\|\【\】\》\《\'\!\!\{\}\#\$\¥\%\^\&\*\(\)\[\]\:\;\:\;\\\‘\’\“\”\,\,\.\。\/\、\?\?\_\——\—\=\+]|@|/g;
		if(val) {
			this.num = val.replace(reg,'')
		}
	}
}

特殊字符的校验

watch: {
	num: function(val) {
		if(val) {
			this.num = val.replace(/[`~!@#$%^&*+<>{}\/'[\]]/im,'')
		}
	}
}

加上校验后,不符合要求的值会被清掉。

Logo

前往低代码交流专区

更多推荐