vue 文本输入框只允许输入字母数字不允许输入特殊字符
Posted 奥特曼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue 文本输入框只允许输入字母数字不允许输入特殊字符相关的知识,希望对你有一定的参考价值。
一、基本结构
<input type="text" v-model="note" maxlength="18">
<script>
export default {
data () {
return {
note: '',
}
}
}
</script>
二、监听表单输入的内容
(1) 只允许输入字母
watch: {
note (newValue, oldValue) {
console.log(newValue)
this.note = newValue.replace(/[\\u4e00-\\u9fa5/\\s+/]|[`~!@#$%^&*() \\\\+ =<>?"{}|, \\\\/ ;' \\\\ [ \\] ·~!@#¥%……&*()—— \\\\+ ={}|《》?:“”【】、;‘’,。、_.-:]/g, "")
}
},
(2)只能输入汉字、英文、数字
watch: {
note (newValue, oldValue) {
console.log(newValue)
this.note = newValue.replace(/[^a-zA-Z0-9\\u4E00-\\u9FA5]/g, "")
}
},
(3) 只允许输入数字
watch: {
note (newValue, oldValue) {
console.log(newValue)
this.note = newValue.replace(/[^\\d]/g, "")
}
},
(4)只允许输入数字、字母
watch: {
note (newValue,oldValue) {
console.log(newValue)
this.note = newValue.replace(/[\\u4e00-\\u9fa5/\\s+/]|[^a-zA-Z0-9\\u4E00-\\u9FA5]/g, "")
}
},
注意 没有采用添加 input事件
三、使用方法的缺陷:
<input type="text" v-model="note" maxlength="18" @input="filter">
methods: {
filter (e) {
console.log(e)
this.note = e.data.replace(/[\\u4e00-\\u9fa5/\\s+/]|[`~!@#$%^&*() \\\\+ =<>?"{}|, \\\\/ ;' \\\\ [ \\] ·~!@#¥%……&*()—— \\\\+ ={}|《》?:“”【】、;‘’,。、_.-:]/g, "")
}
},
(1)只能输入一个字母内容
(2)采用输入法输入多个字符时会报错 而且用拼音输入法按回车键也可以显示其他数字或字符
补充 校验手机号
test () {
console.log(/^1[34578]\\d{9}$/.test(this.mobile))
}
以上是关于vue 文本输入框只允许输入字母数字不允许输入特殊字符的主要内容,如果未能解决你的问题,请参考以下文章