在vue中用最普通的input对内容做限制比较容易,但是没有样式,比较丑,比如只能输入文字(以下都以文字为例),直接对其值正则匹配即可 >查看其他匹配的方法<
<input type="text" οnkeyup="this.value=this.value.replace(/[^u4e00-u9fa5]/g,'')"/>
但是想要好看一点的就需要使用vue中的输入框Input(当然也可以去给普通的调样式),但是验证的方法和普通的有些区别
<Input v-model="name" placeholder="请输入" @keyup.native="inputChange($event)" @keydown.native="inputChange($event)"/>
如果使用了iview中的Input组件
<Input placeholder="请输入" @on-keyup="inputChange($event)" />
验证的方法
inputChange(e) {
const val = e.target;
val.value = val.value.replace(/[^u4E00-u9FA5]/g, ''); // 清除除了中文以外的输入的字符
this.name = val.value;
},
还有就是可以写一个监听器,当输入框的值改变时就去验证
watch:{
name:function(){
this.name=this.name.replace(/[^u4E00-u9FA5]/g, '');
},
},