手机号码的校验
手机号码的校验应用的场景还是很多的,也随处可见,下面就记录几个校验方法
const emptyTip = '请输入'; // 必选项为空
const patternTip = '请输入正确的'; // 格式错误
// 联系电话校验(固话+手机) /(^0\d{2,3}-?\d{7,8}$)|(^1[3-9]\d{9}$)/
function validateContact(rule, value, callback) {if (rule.required && !value) {callback(rule.emptyTip || emptyTip);} else if (value && !(/(^0\d{2,3}-?\d{7,8}$)|(^1[3-9]\d{9}$)/.test(value))) {// 固定电话号码 区号:3-4位,手机号11位,固定电话7-8位callback(rule.patternTip || patternTip);} else {callback();}
};
// 同时校验手机号码和固话 /^[0-9-]{7,50}$/
function validateMobileOrFixed(rule, value, callback) {if (rule.required && !value) {callback(rule.emptyTip || emptyTip);} else if (value && !(/^[0-9-]{7,50}$/.test(value))) {// 固定电话号码 区号:3-4位,手机号11位,固定电话7-8位callback(rule.patternTip || patternTip);} else {callback();}
};
// 手机号码(手机)
function validatePhone(rule, value, callback) {if (rule.required && !value) {callback(rule.emptyTip || emptyTip);} else if (value && !(/^[1]([3-9])\d{9}$/.test(value))) {// 电话号码 区号:3-4位,手机号11位,固定电话7-8位callback(rule.patternTip || patternTip);} else {callback();}
};
// 使用
const rules = {phone: [{ required: true, message: '请输入电话号码',trigger: 'blur', validator: validatePhone}]
}