常见的校验规则:
手机号的校验规则:
/^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\d{8}$/;
Vue用法实例:
Vue.prototype.isMobile = (rule, value, callback) => {
let mobileReg = /^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\d{8}$/;
if (mobileReg.test(value)) {
callback();
} else {
return callback(new Error('请输入手机号的正确格式'));
}
};
邮箱的校验规则:
/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/
Vue用法实例:
Vue.prototype.isEmail = (rule, value, callback) => {
let emailReg = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/;
if (emailReg.test(value)) {
callback();
} else {
return callback(new Error('请输入邮箱的正确格式'));
}
};
身份证号的校验规则:
/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
Vue用法实例:
Vue.prototype.idNoReg = (rule, value, callback) => {
let idNoReg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
if (idNoReg.test(value)) {
callback();
} else {
return callback(new Error('请输入正确的证件号'));
}
};
护照号的校验规则:
/^1[45][0-9]{7}$|(^[P|p|S|s]\d{7}$)|(^[S|s|G|g|E|e]\d{8}$)|(^[Gg|Tt|Ss|Ll|Qq|Dd|Aa|Ff]\d{8}$)|(^[H|h|M|m]\d{8,10}$)/
Vue用法实例:
Vue.prototype.isPassportNoReg = (rule, value, callback) => {
let isPassportNoReg = /^1[45][0-9]{7}$|(^[P|p|S|s]\d{7}$)|(^[S|s|G|g|E|e]\d{8}$)|(^[Gg|Tt|Ss|Ll|Qq|Dd|Aa|Ff]\d{8}$)|(^[H|h|M|m]\d{8,10}$)/;
if (isPassportNoReg.test(value)) {
callback();
} else {
return callback(new Error('请输入正确的护照号'));
}
};
密码的校验规则: (规则在提示语那里)
/^(?!^(\d+|[a-zA-Z]+|[~_]+)$)^[\w~_]{6,16}$/
Vue.prototype.isLoginPass = (rule, value, callback) => {
let loginPassword = /^(?!^(\d+|[a-zA-Z]+|[~_]+)$)^[\w~_]{6,16}$/;
if (loginPassword.test(value)) {
callback();
} else {
return callback(new Error('6-16位,字母、数字、下划线,至少两种'));
}
};
只能输入英文的校验规则:
/^[A-Za-z]+$/
Vue.prototype.isWords = (rule, value, callback) => {
let isWords = /^[A-Za-z]+$/;
if (isWords.test(value)) {
callback();
} else {
return callback(new Error('请输入拼音'));
}
};
非负整数:
/^\d+$/
Vue.prototype.isInger = (rule, value, callback) => {
let isInger= /^[A-Za-z]+$/;
if (isInger.test(value)) {
if (value.length > 1) {
// 判断是否是0开头,0123也是不合法的
if (value.substring(0, 1) > 0) {
callback()
} else {
callback(new Error('请输入非负整数'))
}
} else {
callback()
}
} else {
callback(new Error('请输入非负整数'))
}
};
不能输入汉字:
/[\u4E00-\u9FA5]/g
Vue.prototype.isZw = (rule, value, callback) => {
let isZw = /[\u4E00-\u9FA5]/g;
if (isZw.test(value)) {
callback(new Error('不能输入中文'))
} else {
callback()
}
};