1、el-input 限制输入字符格式
只允许输入中文
@input="value => (FormDaaa = value.replace(/[^\u4E00-\u9FA5]+$/, ''))"
<el-form-item label="描述" prop="aaa">
<el-input v-model="FormData.aaa" @input="value => (FormData.aaa= value.replace(/[^a-zA-Z0-9]/g, ''))" maxLength="20" placeholder="请输入" />
</el-form-item>
只允许输入字母数字
@input="value => (FormData.a'a'aaa= value.replace(/[^a-zA-Z0-9]/g, ''))"
2、el-select、el-cascader下拉筛选可搜索,限制搜索字符格式及长度
<el-form-item label="单位名称" prop="companyId">
<el-select v-isLength="30" filterable v-model="FormData.companyId" placeholder="请选择">
<el-option v-for="item in companyOptions" :key="item.value" :label="item.label" :value="item.value"> </el-option>
</el-select>
</el-form-item>
//自定义指令
directives: {
isLength: {
bind: function (el, binding, vnode) {
const input = el.getElementsByTagName("input")[0];
if (input) {
input.setAttribute("maxlength", binding.value);
input.onkeyup = function (e) {
input.value = input.value.replace(/[^A-Z0-9]/g, '')
}
input.onblur = function (e) {
input.value = input.value.replace(/[^A-Z0-9]/g, '')
}
}
}
}
},