前提补充
在vue中
<input v-model="text" />
等价于
<input :value="text" @input="e => text = e.target.value" />
需求
前端提交form表单要求,不能输入 @#¥%……&*…
不是提示,而是 禁止输入
效果
代码
** 在mian.js中添加【vue原型上添加方法,便于全局使用】
Vue.prototype.validForbid = function (value, number = 255) { value = value.replace(/[`~!@#$%^&*()_\-+=<>?:"{}|,./;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、]/g, '').replace(/\s/g, ""); if (value.length >= number) { this.$message({ type: "warning", message: `输入内容不能超过${number}个字符` }); } return value; }
** 在component.vue中加入
<el-input :value="form.name" @input="e => form.name = validSe(e)" maxlength="10" placeholder="过滤特殊字符长度10" ></el-input>