el-form文本框输入特殊字符校验,除中文句号,逗号,双引号,小括号,冒号,英文句号,逗号,双引号,小括号,冒号外,其余特殊字符全部禁止输入。
<el-form
:rules="formrules"
:model="Form"
>
<el-form-item prop="content">
<el-input v-model="Form.content" type="textarea"></el-input>
</el-form-item>
</el-form>
data() {
let vaildateInput = (rule, value, callback) => {
if(!this.checkSpecicalKey(value)) {
callback(new Error("不能含有特殊字符"))
} else {
callback()
}
}
return {
// 表单校验规则
formRules:{
content: [
{ required: true, message: "请输入不超过200字符", trigger: 'blur'}, // 这里三元运算失效了。
{ validator: vaildateInput, trigger: ['blur','change']} // 这里三元运算ok
]
}
}
},
methods: {
// 特殊字符校验
checkSpecicalKey(str){
// 以下特殊字符禁用
let specialKey = "[`~!@#$^&*_-+=\/=|{}';'\\[||]<>/?·~!@#¥%&……*————{}——|《》‘’【】''、?]"
for (let i = 0; i < str.length; i++) {
if (specialKey.indexOf(str.substr(i,1)) != -1) {
return false
}
}
return true
}
}