欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue中全局限制輸入特殊字符方式

 更新時(shí)間:2024年03月11日 15:42:12   作者:明天也要努力  
這篇文章主要介紹了Vue中全局限制輸入特殊字符方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue全局限制輸入特殊字符

背景:

開發(fā)中遇到的表單輸入,常常會(huì)限制特殊字符的輸入 以滿足安全性測試的要求。

單獨(dú)處理每個(gè)文本框

<template>
  <el-input 
    v-model="content" 
    placeholder="請輸入"
    @change="vaidateEmoji">
  </el-input>
</template>

<script> 
export default {
  methods: {
    vaidateEmoji() {
       const regRule = /[`~^!@#$€£?%^&*()_\-+=<>?:"{}|.\/;'\\[\]·~!……@#¥¥%*()\-+={}|《》?:“”【】‘']/im;
       this.content = this.content.replace(regRule, '');
    },
  },
}
</script>

這樣每個(gè)輸入框單獨(dú)處理,工作量較大且不好維護(hù),所以需要自定義一個(gè)指令來統(tǒng)一實(shí)現(xiàn)這一需求。

自定義指令全局統(tǒng)一處理(推薦)

  • 自定義限制輸入特殊字符指令
// emoji.js
import Vue from 'vue';

// 禁止輸入特殊字符
Vue.directive('emoji', {
  bind: function (el, binding, vnode) {
    // 正則規(guī)則可根據(jù)需求自定義
    const regRule = /[`~^!@#$€£?%^&*()_\-+=<>?:"{}|.\/;'\\[\]·~!……@#¥¥%*()\-+={}|《》?:“”【】‘']/im;
    let $inp = findEle(el, 'input') || findEle(el, 'textarea');
    el.$inp = $inp;
    $inp.handle = function (event) {
      let val = $inp.value;
      $inp.value = val.replace(regRule, '');
      trigger($inp, 'input');
    }
    $inp.addEventListener('keyup', $inp.handle);
  },
  unbind: function (el) {
    el.$inp.removeEventListener('keyup', el.$inp.handle);
  }
});
 
const findEle = (parent, type) => {
  return parent.tagName.toLowerCase() === type ? parent : parent.querySelector(type)
};
 
const trigger = (el, type) => {
  const e = document.createEvent('HTMLEvents');
  e.initEvent(type, true, true);
  el.dispatchEvent(e);
};
  • 在 main.js 中引入該自定義組件
import '@/directives/emoji.js';
  • 在組件中使用

在需要校驗(yàn)的輸入框(多行文本框)加上 v-emoji 即可

<el-input 
  v-emoji
  v-model="content" 
  placeholder="請輸入">
</el-input>

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • iview日期控件,雙向綁定日期格式的方法

    iview日期控件,雙向綁定日期格式的方法

    下面小編就為大家分享一篇iview日期控件,雙向綁定日期格式的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Vue單頁面應(yīng)用做預(yù)渲染的方法實(shí)例

    Vue單頁面應(yīng)用做預(yù)渲染的方法實(shí)例

    vue是一個(gè)單頁面的應(yīng)用,這導(dǎo)致一些爬蟲和百度無法搜索到,如果你想針對你應(yīng)用的其中某些頁面進(jìn)行SEO優(yōu)化,讓他們可以被爬蟲和百度搜索到,你可以進(jìn)行預(yù)渲染操作,下面這篇文章主要給大家介紹了關(guān)于Vue單頁面應(yīng)用做預(yù)渲染的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • antd?vue?表格rowSelection選擇框功能的使用方式

    antd?vue?表格rowSelection選擇框功能的使用方式

    這篇文章主要介紹了antd?vue?表格rowSelection選擇框功能的使用方式,具有很好的參考價(jià)值,希望對大家有所幫助。以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
    2022-12-12
  • 說說如何在Vue.js中實(shí)現(xiàn)數(shù)字輸入組件的方法

    說說如何在Vue.js中實(shí)現(xiàn)數(shù)字輸入組件的方法

    這篇文章主要介紹了說說如何在Vue.js中實(shí)現(xiàn)數(shù)字輸入組件的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • Vue的過濾器你真了解嗎

    Vue的過濾器你真了解嗎

    這篇文章主要為大家詳細(xì)介紹了Vue的過濾器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • Vue.js之slot深度復(fù)制詳解

    Vue.js之slot深度復(fù)制詳解

    這篇文章主要介紹了Vue.js之slot深度復(fù)制的相關(guān)資料,文中介紹的很詳細(xì),對大家具有一定的參考價(jià)值,需要的朋友們來一起看看吧。
    2017-03-03
  • vue中使用jeecg進(jìn)行前后端聯(lián)調(diào)方式

    vue中使用jeecg進(jìn)行前后端聯(lián)調(diào)方式

    這篇文章主要介紹了vue中使用jeecg進(jìn)行前后端聯(lián)調(diào)方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue 如何追蹤數(shù)據(jù)變化

    Vue 如何追蹤數(shù)據(jù)變化

    這篇文章主要介紹了Vue 如何追蹤數(shù)據(jù)變化,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下
    2021-04-04
  • vue-cli 關(guān)閉熱更新操作

    vue-cli 關(guān)閉熱更新操作

    這篇文章主要介紹了vue-cli 關(guān)閉熱更新操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • vue獲取DOM元素并設(shè)置屬性的兩種實(shí)現(xiàn)方法

    vue獲取DOM元素并設(shè)置屬性的兩種實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄獀ue獲取DOM元素并設(shè)置屬性的兩種實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09

最新評論