1、校验排序号
validateOrderNum = (rule, value, callback) => {
if (rule.required && !value && value !== 0) {
callback(new Error('排序号不能为空'))
}
if (!value && value !== 0) {
callback()
} else {
let regex = /^[0-9]*$/
if (!regex.test(value)) {
callback(new Error('请输入数字'))
}
let val = parseInt(value)
if (val % 1 !== 0) {
callback(new Error('请输入整数'))
} else {
callback()
}
}
}
2、校验手机号码
validatePhone = (rule, value, callback) => {
if (rule.required && !value && !value.length) {
callback(new Error('手机号码不能为空'))
}
if (!value && value !== 0) {
callback()
} else {
let check = /^1[34578]\d{9}$/.test(value)
if (!check) {
callback(new Error('手机号码格式不正确'))
return false
} else {
callback()
return true
}
}
}
3、身份证号校验
validateIdNum = (rule, value, callback) => {
// 15位和18位身份证号码的基本校验
let check = /^\d{15}|(\d{17}(\d|x|X))$/.test(value);
if (!check) {
callback(new Error('身份证号验证不合法'));
return false;
}
// 判断长度为15位或18位
if (value.length === 15) {
// 15位身份证号码的基本校验
check = /^[1-9]\d{7}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))\d{3}$/.test(value);
if (!check) {
callback(new Error('身份证号验证不合法'));
return false;
}
} else if (value.length === 18) {
// 身份证正则表达式(18位)
let cardid = value;
let isIdCard2 = /^[1-9]\d{5}(19\d{2}|[2-9]\d{3})((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])(\d{4}|\d{3}X)$/i;
let stard = '10X98765432'; // 最后一位身份证的号码
let first = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; // 1-17系数
let sum = 0;
// console.log(cardid)
if (!isIdCard2.test(cardid)) {
callback(new Error('身份证号验证不合法'));
return false;
}
let year = cardid.substr(6, 4);
let month = cardid.substr(10, 2);
let day = cardid.substr(12, 2);
let birthday = cardid.substr(6, 8);
if (birthday !== dateToString(new Date(year + '/' + month + '/' + day))) { // 校验日期是否合法
callback(new Error('身份证号验证不合法'));
return false;
}
for (let i = 0; i < cardid.length - 1; i++) {
sum += cardid[i] * first[i];
// console.log(sum)
}
let result = sum % 11;
let last = stard[result]; // 计算出来的最后一位身份证号码
// 日期转字符串 返回日期格式20080808
if (cardid[cardid.length - 1].toUpperCase() === last) {
callback();
return true;
} else {
callback(new Error('身份证号验证不合法'));
return false;
}
} else {
callback(new Error('身份证号验证不合法'));
return false;
}
还有其他的欢迎补充