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

elementui pattern

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

ElementUI 表单验证 pattern 用法

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

基本语法:

elementui pattern

rules: {
  fieldName: [
    { pattern: /正则表达式/, message: '错误提示', trigger: '触发事件' }
  ]
}

常见场景示例

验证手机号格式:

elementui pattern

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

elementui按需

ElementUI 按需引入方法 ElementUI 支持按需引入组件,以减少最终打包体积。以下是具体实现方式: 安装 babel-plugin-component 需要安装官方推荐的 babel…

elementui流程

elementui流程

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

elementui核心

elementui核心

Element UI 核心概念 Element UI 是基于 Vue.js 2.0 的桌面端组件库,其核心设计理念是简洁、高效、易用。以下是其核心组成部分: 组件化设计 提供丰富的 UI 组件,如…

elementui hover

elementui hover

ElementUI Hover 效果实现方法 ElementUI 提供了多种组件支持 hover 交互效果,主要通过 CSS 伪类和组件内置事件实现。 按钮 hover 效果 <el-but…

elementui open=

elementui open=

ElementUI Open 方法详解 ElementUI 是一个基于 Vue.js 的组件库,提供了丰富的 UI 组件。open 方法通常用于打开对话框、下拉菜单等交互组件。 Dialog 组件的…

比elementui

比elementui

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