1. 程式人生 > 程式設計 >vue.js 輸入框輸入值自動過濾特殊字元替換中問標點操作

vue.js 輸入框輸入值自動過濾特殊字元替換中問標點操作

我就廢話不多說了,大家還是直接看程式碼吧~

<Input v-model="relatedWords" type="textarea" placeholder="請輸入" @input='verifyInput(formItem.relatedWords)'/>

verifyInput(v){
  let _this=this;
  let punctuation = /[`~!@#$%^&*_\-=<>?:"{}|.\/;'\\[\]·~!@#¥%……&——\-={}|《》?:“”【】、;‘'。、]/im;
  let arr=v.split('')
  let str=''
  arr.map(i=>{
    if(!punctuation.test(i)){
     str+=i
    }
  })
  str=str.replace(/(/g,'(')
  str=str.replace(/)/g,')')
  str=str.replace(/,/g,',')
  this.$nextTick(j=>{
    this.relatedWords=str
  })
},

補充知識:vue el-input 禁止輸入特殊字元 只可輸入數字 正則驗證

我就廢話不多說了,大家還是直接看程式碼吧~

<el-input
 size="small"
 v-model="city"
 placeholder="請輸入城市名稱"
 @blur="addCity(scope.$index)"
 @keyup.native="btKeyUp"
 @keydown.native="btKeyDown"
></el-input>
 
// methods內 
 
   // 只能輸入漢字、英文、數字
  btKeyDown(e) {
    e.target.value = e.target.value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,"");
  },//限制輸入特殊字元
  btKeyUp(e) {
    e.target.value = e.target.value.replace(/[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]/g,"");
  }

在el-input 內 使用 keyup等事件 需要新增 .native 否則無法正常執行事件

下面是 只可輸入數字

 <el-input
  size="small"
  v-model="scope.row.order_number"
  v-show="scope.row.isShowInp_order"
  @blur="editOrder(scope.$index,scope.row)"
  v-focus
  @keyup.native="UpNumber"
  @keydown.native="UpNumber"
  class="table_input"       
></el-input>  
 
// 只可輸入數字 
  UpNumber(e) {
    e.target.value = e.target.value.replace(/[^\d]/g,"");
  }

以上這篇vue.js 輸入框輸入值自動過濾特殊字元替換中問標點操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。