- * 在使用本方法前,请先验证号码的合法性 规则:
- *
- * 中国移动拥有号码段为:139,138,137,136,135,134,147,159,158,157(3G),151,152,150,182(3G),188(3G),187(3G);16个号段
- * 中国联通拥有号码段为:130,131,132,145,155,156(3G),186(3G),185(3G);8个号段
- * 中国电信拥有号码段为:133,1349,153,189(3G),180(3G);5个号码段
- * @param mobile要判断的号码
- * @return 返回相应类型:1代表联通;2代表移动;3代表电信
- */
- public String getMobileType(String mobile) {
- if (mobile.startsWith("0") || mobile.startsWith("+860")) {
- mobile = mobile.substring(mobile.indexOf("0") + 1, mobile.length());
- }
- List chinaUnicom = Arrays.asList(new String[] { "130", "131", "132",
- "145","155", "156", "186", "185" });
- List chinaMobile1 = Arrays.asList(new String[] { "135", "136", "137",
- "138", "139", "147","150", "151", "152", "157", "158", "159", "182","187",
- "188" });
- List chinaMobile2 = Arrays.asList(new String[] { "1340", "1341",
- "1342", "1343", "1344", "1345", "1346", "1347", "1348" });
- boolean bolChinaUnicom = (chinaUnicom.contains(mobile.substring(0, 3)));
- boolean bolChinaMobile1 = (chinaMobile1
- .contains(mobile.substring(0, 3)));
- boolean bolChinaMobile2 = (chinaMobile2
- .contains(mobile.substring(0, 4)));
- if (bolChinaUnicom)
- return "1";//联通
- if (bolChinaMobile1 || bolChinaMobile2)
- return "2"; //移动
- return "3"; //其他为电信
- }
移动联通和电信的号段判断
最新推荐文章于 2021-09-14 11:38:43 发布