el-form特殊字符校验

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
  }
}

版权声明:本文为qq_43145310原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。