el-form 表单 手机号 验证

本文介绍了一种使用form的rules属性中的validator进行自定义手机号验证的方法。通过正则表达式检查输入是否符合11位手机号的标准格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用form的rules属性中validator来实现自定义验证

方法checkPhone

let checkPhone = (rule, value, callback) => {
    let reg = /^1[345789]\d{9}$/
    if (!reg.test(value)) {
        callback(new Error('请输入11位手机号'))
    } else {
        callback()
    }
}

注意方法写的位置:

### Vue3 中使用 Element Plus 的 `el-form` 组件实现手机号和邮箱的校验 为了在 Vue3 和 Element Plus 中设置表单校验规则,可以按照如下方式配置: #### 创建 Form 数据模型 定义数据对象用于存储输入框中的值。 ```javascript const form = reactive({ phone: '', email: '' }); ``` #### 定义校验规则 通过 `rules` 对象来指定各个字段的具体校验逻辑。对于手机号码和电子邮件地址,通常会应用正则表达式来进行格式验证。 ```javascript import { required, pattern } from '@vuelidate/validators'; // 假设引入了 vuelidate 库作为辅助工具 // 或者自定义函数形式的validator function validateEmail(value) { const regex = /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/; return regex.test(String(value).toLowerCase()); } function validatePhone(value) { const regex = /^1\d{10}$/; // 简化的中国大陆手机格式匹配 return regex.test(String(value)); } const rules = computed(() => ({ phone: [ { validator: validatePhone, message: '请输入有效的手机号', trigger: ['blur'] } ], email: [ { type: 'email', message: '请输入合法的邮箱地址', trigger: ['blur', 'change'] }, { validator: validateEmail, message: '请输入有效的电子邮箱', trigger: ['blur'] } ] })); ``` #### 设置模板结构并关联 Refs 及 Rules 属性 确保 `<el-form>` 标签内包含了必要的属性绑定,以便能够正确触发校验流程[^1]。 ```html <template> <div class="demo"> <el-form :model="form" :rules="rules" ref="ruleFormRef"> <!-- 手机号--> <el-form-item label="手机号" prop="phone"> <el-input v-model="form.phone"></el-input> </el-form-item> <!-- 邮箱 --> <el-form-item label="邮箱" prop="email"> <el-input v-model="form.email"></el-input> </el-form-item> <el-button @click="submitForm">提交</el-button> </el-form> </div> </template> ``` #### 提交按钮事件处理程序 当点击提交按钮时调用此方法执行整个表单的有效性检查,并根据结果采取相应操作。 ```javascript async function submitForm() { try { await ruleFormRef.value.validate((valid) => { if (valid) { console.log('submit!'); } else { console.error('error submit!!'); return false; } }); } catch (err) { console.warn(err); } } ``` 以上就是如何利用 Vue3 结合 Element Plus 来构建带有手机号和邮件地址校验功能的表单项的方法[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值