vue+element-ui 自定义校验规则实现邮箱和手机格式的验证
表单:<el-form:model="addUserForm":rules="addUserRules"ref="addUserRef"label-width="100px"class="demo-ruleForm"><el-form-item label="用户名" prop="username"><
·
表单:
<el-form
:model="addUserForm"
:rules="addUserRules"
ref="addUserRef"
label-width="100px"
class="demo-ruleForm"
>
<el-form-item label="用户名" prop="username">
<el-input v-model="addUserForm.username"></el-input>
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input v-model="addUserForm.password" type="password"></el-input>
</el-form-item>
<el-form-item label="邮箱" prop="email">
<el-input v-model="addUserForm.email"></el-input>
</el-form-item>
<el-form-item label="手机" prop="mobile">
<el-input v-model="addUserForm.mobile"></el-input>
</el-form-item>
</el-form>
在data中自定义邮箱和手机的验证规则
data() {
//自定义的邮箱和手机验证规则
var checkEmail = (rule, value, callback) => {
const regEmail = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (regEmail.test(value)) {
return callback();
}
callback(new Error("请输入合法的验证码"));
};
var checkMobile = (rule, value, callback) => {
const regMobile = /^(0|86|17951)?(13[0-9]|15[012356789]|17[3678]|18[0-9]|14[57])[0-9]{8}$/;
if (regMobile.test(value)) {
return callback();
}
callback(new Error("请输入合法的手机号"));
};
return {
// 添加用户表单的验证规则
addUserRules: {
email: [
{ required: true, message: "请输入邮箱", trigger: "blur" },
{ validator: checkEmail, trigger: "blur" },
],
mobile: [
{ required: true, message: "请输入手机号", trigger: "blur" },
{
validator: checkMobile,
trigger: "blur",
},
],
},
};
}
更多推荐
已为社区贡献4条内容
所有评论(0)