本文详细介绍JavaScript编写的PhoneUtils手机号码校验工具类。该类封装了中国电信、联通、移动及座机号码的正则匹配规则,提供完整格式校验与仅长度校验两种方法,适用于前端表单验证场景。
PhoneUtils工具类概述
本文分享了一个基于JavaScript实现的手机号码校验工具类PhoneUtils的具体代码实现,供开发者参考使用。
核心正则规则与实现代码
//PhoneUtils命名空间
PhoneUtils = {
phoneRegexs: {
//中国电信号码段
CHINA_TELECOM_PATTERN: /^(?:\+86)?1(?:33|53|7[37]|8[019])\d{8}$|^(?:\+86)?1700\d{7}$/,
//中国联通号码段
CHINA_UNICOM_PATTERN: /^(?:\+86)?1(?:3[0-2]|4[5]|5[56]|7[56]|8[56])\d{8}$|^(?:\+86)?170[7-9]\d{7}$/,
//中国移动号码段
CHINA_MOBILE_PATTERN: /^(?:\+86)?1(?:3[4-9]|4[7]|5[0-27-9]|7[8]|8[2-478])\d{8}$|^(?:\+86)?1705\d{7}$/,
//电话座机号码段
PHONE_CALL_PATTERN: /^(?:\d3,4|\d{3,4}-)?\d{7,8}(?:-\d{1,4})?$/,
//手机号码
PHONE_PATTERN: /^(?:\+86)?(?:13\d|14[57]|15[0-35-9]|17[35-8]|18\d)\d{8}$|^(?:\+86)?170[057-9]\d{7}$/,
//手机号简单校验,不根据运营商分类
PHONE_SIMPLE_PATTERN: /^(?:\+86)?1\d{10}$/
},
//电话号码
isPhoneCallNum: function(input) {
return this.phoneRegexs.PHONE_CALL_PATTERN.test(input);
},
//电信手机号码
isChinaTelecomPhoneNum: function(input) {
return this.phoneRegexs.CHINA_TELECOM_PATTERN.test(input);
},
//中国联通
isChinaUnicomPhoneNum: function(input) {
return this.phoneRegexs.CHINA_UNICOM_PATTERN.test(input);
},
//中国移动
isChinaMobilePhoneNum: function(input) {
return this.phoneRegexs.CHINA_MOBILE_PATTERN.test(input);
},
//手机号码
isPhoneNum: function(input) {
return this.phoneRegexs.PHONE_PATTERN.test(input);
},
//手机号码简单校验,只校验长度
isPhoneNumBySize: function(input) {
return this.phoneRegexs.PHONE_SIMPLE_PATTERN.test(input);
}
};
总结
上述内容即为PhoneUtils工具类的完整介绍,希望能为读者的技术学习提供实际帮助,同时也欢迎持续关注本站以获取更多优质资源。