在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, '');
},
},