当前位置: 首页 > news >正文

elementPlus 中表单验证方法(手机号、正整数、邮箱)

1、手机号验证

<el-form ref="formRef" :model="form" :rules="rule" label-width="100px">
	<el-form-item label="联系电话" prop="mobile">
         <el-input type="tel" v-model="form.mobile" />
    </el-form-item>
</el-form>

<script setup lang="ts">
const rule: ElFormRules = {
    mobile: [{ validator: validateMobile, trigger: 'blur' }]
}
// 手机号验证(1)
const validateMobile = (rule, value, callback) => {
    const reg = /^1[3-9]\d{9}$/
    if (value && !reg.test(value)) {
        callback(new Error('请输入有效的电话号码!'))
    } else {
        callback()
    }
}

//手机号验证2
const rule: ElFormRules = {
    mobile: [{
        pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
        message: '请输入正确的手机号码',
        trigger: 'blur'
      }]
}
</script>

2、正整数验证

<el-form ref="formRef" :model="form" :rules="rule1" label-width="100px">
	<el-form-item label="数值" prop="num">
         <el-input type="number" v-model="form.threshold" placeholder="请输入正整数"/>
    </el-form-item>
</el-form>

<script setup lang="ts">
const rule: ElFormRules = {
    mobile: [{ validator: validateMobile, trigger: 'blur' }]
}
// 正整数验证
const rule: ElFormRules = {
    num: [{ required: true, message: '请输入数字!', trigger: 'blur' },
        {
            validator: (rule, value, callback) => {
                const regex = /^[1-9]{1}[0-9]*$/
                if (regex.test(value)) {
                    callback()
                } else {
                    callback(new Error('请输入正整数!'))
                }
            },
            trigger: 'blur'
        }
    ]
}
</script>

3、邮箱验证

const rule: ElFormRules = {
    email: [{
        type: 'email',
        message: '请输入正确的邮箱地址',
        trigger: ['blur', 'change']
      }]
}

相关文章:

  • 【大模型实战篇】Mac本地部署RAGFlow的踩坑史
  • 开源项目austin学习day01
  • GEE中的JavaScript语法基础
  • Vue.js 学习笔记:TodoList 待办事项小案例
  • 50周学习go语言:第2周 基础语法与温度转换程序
  • Redis速成(1)
  • MySQL的三种并发问题和四种隔离级别
  • 机器学习数学基础:34.二列相关教程
  • 学习笔记--电磁兼容性EMC
  • 用AI玩游戏1——狼人杀六人局
  • 大白话Vue2和Vue3双向数据绑定的原理
  • CMU Sphinx、Kaldi 和 Mozilla DeepSpeech 三个开源语音识别引擎的综合比较
  • Linux 常见命令全解析
  • 课程1. 深度学习简介
  • Vue使用Three.js加载glb (gltf) 文件模型及实现简单的选中高亮、测距、测面积
  • Unity汽车笔记
  • prometheus API清理数据
  • Vue3 + Vite使用 vue-i18n
  • C++术语
  • 设计模式教程:备忘录模式(Memento Pattern)
  • 国家卫健委通报:吊销肖某医师执业证书,撤销董某莹四项证书
  • 最高人民法院原副院长唐德华逝世,享年89岁
  • 上海市重大工程一季度开局良好,多项生态类项目按计划实施
  • 美将解除对叙利亚制裁,外交部:中方一贯反对非法单边制裁
  • 长三角首次,在铁三赛事中感受竞技与生态的共鸣
  • 体坛联播|博洛尼亚时隔51年再夺意杯,皇马逆转马洛卡