在vue中用最普通的input对内容做限制比较容易,但是没有样式,比较丑,比如只能输入文字(以下都以文字为例),直接对其值正则匹配即可  >查看其他匹配的方法<

<input type="text" onkeyup="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, '');
          },
       },

 

Logo

前往低代码交流专区

更多推荐