el-form 自定义校验用户名称(字母或者字母+数字,不允许中文和特殊字符)
- 只能字母或者字母+数字 不允许中文和特殊字符
// 自定义校验函数:同步校验格式
const validateUsername = (rule, value, callback) => {
if (!value) {
return callback(new Error("用户名不能为空"));
}
if (value.length < 2 || value.length > 20) {
return callback(new Error("用户名长度应在 2 到 20 个字符之间"));
}
// 只允许字母和数字
const regAlphanumeric = /^[a-zA-Z0-9]+$/;
if (!regAlphanumeric.test(value)) {
return callback(new Error("用户名只能包含字母和数字,不允许中文或特殊字符"));
}
// 不能是纯数字
const regPureNumber = /^[0-9]+$/;
if (regPureNumber.test(value)) {
return callback(new Error("用户名不能为纯数字"));
}
const regStartWithLetter = /^[a-zA-Z]/;
if (!regStartWithLetter.test(value)) {
return callback(new Error("用户名必须以字母开头"));
}
callback(); // 校验通过
};

被折叠的 条评论
为什么被折叠?



