1.手机号验证
export var phoneValidate = (rule, value, callback) => {
var phone = value.replace(/\s/g, "");//去除空格
//校验手机号,号段主要有(不包括上网卡):130~139、150~153,155~159,180~189、170~171、176~178。14号段为上网卡专属号段
let regs = /^((13[0-9])|(17[0-1,6-8])|(15[^4,\\D])|(18[0-9]))\d{8}$/;
if (value.length == 0) {
callback([new Error('请输入手机号')]);
} else {
if (!regs.test(phone)) {
callback([new Error('手机号输入不合法')]);
} else {
callback();
}
}
}
2.邮箱验证
export var mailValidate = (rule, value, callback) => {
var mail = value.replace(/\s/g, "");//去除空格
var myreg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
if (mail.length == 0) {
callback([new Error('请输入邮箱')]);
} else if (!myreg.test(mail)) {
callback([new Error('邮箱输入不规范')]);
} else {
callback()
}
}
3.不支持汉字验证
export function validateChinese(rule, value, callback) {
const reg = /[\u4E00-\u9FA5]/i;
if (reg.test(value)) {
callback(new Error("不支持汉字"));
} else {
callback();
}
}
4.密码验证
export var validatePassword = (rule, value, callback) => {
var reg = /^([a-zA-Z]|[0-9]|[a-zA-Z0-9]|[a-zA-Z0-9!#$%^&*-_()]){6,20}$/;
if (value != null && value != "") {
if (!(value.length >= 6 && value.length <= 20)) {
callback(new Error("密码长度6-20"));
return;
}
if (!reg.test(value)) {
callback(
new Error("密码格式不正确,应为字母、数字、特殊字符长度6-20")
);
return;
}
}
callback();
};
5.支持角度验证
export var rot = (rule, value, callback) => {
if (!value) {
callback(new Error('请输入角度'))
} else if (value[0] == '-' || isNaN(value) || value > 360) {
callback(new Error('角度只可以输入0-360的数值'))
} else {
callback()
}
}
6.正数校验
export var zhengNum = (rule, value, callback) => {
if (!value) {
callback(new Error('请输入值'))
} else if (value[0] == '-' || isNaN(value)) {
callback(new Error('只可以输入大于0的数值'))
} else {
callback()
}
}
7.支持正负数校验
export var pos = (rule, value, callback) => {
if (!value) {
callback(new Error('请输入坐标'))
} else if (value[0] == '-') {
// 如果第一个字符为-号 进入判断
var value1 = value.substr(1)
if (isNaN(value1)) {
callback(new Error('仅支持输入数字'))
} else {
callback()
}
} else {
if (isNaN(value)) {
callback(new Error('仅支持输入数字'))
} else {
callback()
}
}
}