// 手机号验证
const validateTel = (rule, value, callback) => {
const regexp = /^(\+\d{2,3}-)?\d{11}$/;
if (!regexp.test(value)) {
callback(new Error('请输入正确的号码格式'));
} else {
callback();
}
};
tel: [
{
required: true,
trigger: 'blur',
message: '请输入手机号码',
validator: validateTel,
},
]
// --------------------------------------------------------------------------------------
// 邮箱验证
const validateEmail = (rule, value, callback) => {
const regexp =
/^(([^<>()\[\]\\.,;:\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 (!regexp.test(value)) {
callback(new Error("请输入正确的邮箱地址"));
} else {
callback();
}
};
Email: [{ trigger: "blur", validator: validateEmail }],
// 密码验证
const validatePassword = (rule, value, callback) => {
const regexp = /(?![A-Z]*$)(?![a-z]*$)(?![0-9]*$)(?![^a-zA-Z0-9]*$)/;
if (!regexp.test(value)) {
callback(new Error('请输入8-16位字符的密码,且包含数字,大小写字母,特殊字符任意三种'));
} else {
callback();
}
};
password: [
{ min: 8, max: 16, message: '请输入8-16位的密码', trigger: 'blur' },
{ trigger: 'blur', validator: validatePassword },
]
// ----------------------------------------------------------------------
// 确认密码验证
const confirmPwd = (rule, value, callback) => {
if (value === '') {
callback(new Error('请确认密码'));
} else if (value !== this.formData.password) {
callback(new Error('两次密码输入不一致'));
} else {
callback();
}
};
// 调用后端接口验证唯一性
// 验证是否重复输入
const exitCode = (rule, value, callback) => {
if (!value) {
callback(new Error("请输入账号"));
} else {
//发送请求
isCodeUnique({
Account: value,
keyValue: this.form.UserId,
}).then((res) => {
const { Status, Data } = res;
if (!Data) {
//fasle不通过
callback(new Error("该账号已存在"));
} else {
callback();
}
});
}
};
confirm: [{ validator: confirmPwd }, { required: true, message: '请确认密码' }],
//----------------------------------------------------------------------------------
// 验证码验证
const validateCode = (rule, value, callback) => {
if (value.length !== 6) {
callback(new Error('请输入6位数验证码'));
} else {
callback();
}
};
code: [
{ required: true, message: '请输入验证码', trigger: 'blur' },
{
trigger: 'blur',
validator: validateCode,
},
],
前端常用验证---手机号密码邮箱等
于 2022-03-22 19:14:02 首次发布