下面是我本身封裝的一個工具類,僅供參考。
完整代碼請往個人github項目bee.jsgit
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: /^(?:\(\d{3,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); } };