elementui pattern
ElementUI 表单验证 pattern 用法
ElementUI 的表单验证中,pattern 属性用于通过正则表达式自定义验证规则。结合 el-form 和 el-form-item 的 rules 配置,可以实现灵活的输入校验。
基本语法:

rules: {
fieldName: [
{ pattern: /正则表达式/, message: '错误提示', trigger: '触发事件' }
]
}
常见场景示例
验证手机号格式:

rules: {
phone: [
{ required: true, message: '手机号不能为空' },
{ pattern: /^1[3-9]\d{9}$/, message: '手机号格式不正确', trigger: 'blur' }
]
}
验证邮箱格式:
rules: {
email: [
{ pattern: /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/, message: '邮箱格式错误' }
]
}
动态正则表达式
可通过函数返回动态正则表达式:
rules: {
code: [
{
validator: (rule, value, callback) => {
const regex = new RegExp(`^${this.prefix}\\d+$`);
if (!regex.test(value)) callback(new Error('编码格式错误'));
else callback();
}
}
]
}
注意事项
- 正则表达式需用
/.../包裹或通过new RegExp()创建 trigger默认为'change',可设置为'blur'在失去焦点时验证- 复杂校验建议使用
validator自定义函数 - 可组合
required、min、max等其他规则使用
完整示例
<template>
<el-form :model="form" :rules="rules">
<el-form-item label="邮编" prop="zipCode">
<el-input v-model="form.zipCode"></el-input>
</el-form-item>
</el-form>
</template>
<script>
export default {
data() {
return {
form: { zipCode: '' },
rules: {
zipCode: [
{ pattern: /^[1-9]\d{5}$/, message: '请输入6位数字邮编' }
]
}
}
}
}
</script>






