当前位置:首页 > 前端教程

elementui pattern

2026-01-14 19:57:37前端教程

ElementUI 表单验证 pattern 用法

ElementUI 的表单验证中,pattern 属性用于通过正则表达式自定义验证规则。结合 el-formel-form-itemrules 配置,可以实现灵活的输入校验。

基本语法:

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 自定义函数
  • 可组合 requiredminmax 等其他规则使用

完整示例

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

elementui pattern

分享给朋友:

相关文章

elementui流程

elementui流程

Element UI 流程设计 Element UI 提供了一套基于 Vue.js 的流程设计组件,适用于展示步骤流程、任务进度等场景。以下为关键实现方法和组件说明: 安装与引入 确保已安装 El…

elementui整合

elementui整合

ElementUI 整合指南 ElementUI 是一款基于 Vue.js 的桌面端组件库,广泛应用于中后台系统的快速开发。以下是整合 ElementUI 到项目中的具体方法: 安装 Elemen…

elementui require

elementui require

ElementUI 引入方式 ElementUI 可以通过多种方式引入到项目中,具体选择取决于项目需求和开发环境。 npm 安装 适用于 Vue.js 项目,通过 npm 或 yarn 安装 El…

elementui案例

elementui案例

Element UI 案例 Element UI 是一个基于 Vue.js 的组件库,广泛用于构建企业级中后台前端界面。以下是一些常见的 Element UI 案例和使用场景: 表单设计 Elem…

elementui实例

elementui实例

以下是关于 Element UI 实例的整理内容,涵盖常见组件用法和实际开发中的关键点: 安装与基础配置 通过 npm 安装 Element UI: npm install element-ui…

比elementui

比elementui

对比 Element UI 的替代方案 Element UI 是一个基于 Vue.js 的流行组件库,但近年来开发者可能寻求更现代、更轻量或功能更丰富的替代品。以下是几个值得考虑的替代方案及其特点:…