UNPKG

xlb-main-login

Version:

``` yarn install ```

29 lines (27 loc) 909 B
import Vue from 'vue' 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) } const validateTemp = { bind: function (el, binding, vnode) { const regRule = /[`~!@#$%^&*()_\-+=<>?:"{}|,./;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、]/g const $inp = findEle(el, 'input') el.$inp = $inp $inp.handle = function () { const 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 validate = Vue.directive('isValidate', validateTemp) export default validate