这篇文章主要介绍了Java获取手机号码归属地的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

封装好的工具类如下:

public class PhoneAddrUtil {private static PhoneNumberUtil phoneNumberUtil = PhoneNumberUtil.getInstance();private static PhoneNumberToCarrierMapper carrierMapper = PhoneNumberToCarrierMapper.getInstance();private static PhoneNumberOfflineGeocoder geocoder = PhoneNumberOfflineGeocoder.getInstance();/*** 根据国家代码和手机号  判断手机号是否有效* @param phoneNumber* @param countryCode* @return*/public static boolean checkPhoneNumber(String phoneNumber, String countryCode){int ccode = Integer.valueOf(countryCode);long phone = Long.valueOf(phoneNumber);Phonenumber.PhoneNumber pn = new Phonenumber.PhoneNumber();pn.setCountryCode(ccode);pn.setNationalNumber(phone);return phoneNumberUtil.isValidNumber(pn);}/*** 根据国家代码和手机号  判断手机运营商* @param phoneNumber* @param countryCode* @return*/public static String getCarrier(String phoneNumber, String countryCode){int ccode = Integer.valueOf(countryCode);long phone = Long.valueOf(phoneNumber);Phonenumber.PhoneNumber pn = new Phonenumber.PhoneNumber();pn.setCountryCode(ccode);pn.setNationalNumber(phone);//返回结果只有英文,自己转成成中文String carrierEn = carrierMapper.getNameForNumber(pn, Locale.ENGLISH);String carrierZh = "";carrierZh += geocoder.getDescriptionForNumber(pn, Locale.CHINESE);switch (carrierEn) {case "China Mobile":carrierZh += "移动";break;case "China Unicom":carrierZh += "联通";break;case "China Telecom":carrierZh += "电信";break;default:break;}return carrierZh;}/**** @Description: 根据国家代码和手机号  手机归属地* @date 2015-7-13 上午11:33:18* @param @param phoneNumber* @param @param countryCode* @param @return    参数* @throws*/public static String getAdd(String phoneNumber, String countryCode) {int ccode = Integer.valueOf(countryCode);long phone = Long.valueOf(phoneNumber);Phonenumber.PhoneNumber pn = new Phonenumber.PhoneNumber();pn.setCountryCode(ccode);pn.setNationalNumber(phone);return geocoder.getDescriptionForNumber(pn, Locale.CHINA);}}

使用这个工具类需要的Maven仓库依赖:

<dependency><groupId>com.googlecode.libphonenumber</groupId><artifactId>libphonenumber</artifactId><version>8.7.1</version>
</dependency>
<dependency><groupId>com.googlecode.libphonenumber</groupId><artifactId>geocoder</artifactId><version>2.76</version>
</dependency>
<dependency><groupId>com.googlecode.libphonenumber</groupId><artifactId>carrier</artifactId><version>1.66</version>
</dependency>

调用使用的代码:

public static void main( String[] args ) {System.out.println(PhoneAddrUtil.getCarrier("15603300235","+86"));
}

Java判断手机号归属地相关推荐

  1. java判断手机号_java使用正则表达式判断手机号的方法示例

    本文实例讲述了java使用正则表达式判断手机号的方法.分享给大家供大家参考,具体如下: 要更加准确的匹配手机号码只匹配11位数字是不够的,比如说就没有以144开始的号码段, 故先要整清楚现在已经开放了 ...

  2. java 判断手机运营商_如何用java判断手机号运营商?

    如何用java实现判断手机号的运营商?因为每个号段都是工信部规定划分给指定运营商的,所以我们可以通过手机号码的号段来判断. 现在手机号的号段那么多,要怎样方便的的判断呢?于是我们就想到了正则表达式,在 ...

  3. java 判断手机号_如何用java判断手机号运营商?

    如何用java实现判断手机号的运营商?因为每个号段都是工信部规定划分给指定运营商的,所以我们可以通过手机号码的号段来判断. 现在手机号的号段那么多,要怎样方便的的判断呢?于是我们就想到了正则表达式,在 ...

  4. 如何用java判断手机号运营商?

    如何用java实现判断手机号的运营商?因为每个号段都是工信部规定划分给指定运营商的,所以我们可以通过手机号码的号段来判断. 现在手机号的号段那么多,要怎样方便的的判断呢?于是我们就想到了正则表达式,在 ...

  5. go语言判断手机号归属地

    简言 1. 网上搜到了很多查询手机号归属地的,要么不是go语言版的,要么复杂难用,笔者推荐的这个很简单 2. 这个第三方库没有利用其它url之类,原理是把全国各地的手机号分类保存到一个文件(phone ...

  6. java区分手机号归属地_JAVA手机号码归属地查询

    根据手机号码查询手机号码归属地,采用2种查询方式,如果第一种没查询到,则会自动使用第二种查询! package com.brainlong.utils; import java.io.Buffered ...

  7. Java判断手机号格式

    利用正则表达式,对手机号进行格式判断: String mobile = "13712345678"; String regex = "^((13[0-9])|(14[5| ...

  8. java判断手机号运营商

    package com.huida.platform.gateway.util;import java.util.regex.Pattern;public class OperatorJudgeUti ...

  9. java获取手机号归属地

    https://blog.csdn.net/qq_34566776/article/details/85004494

最新文章

  1. 赠书 | 详解 4 种爬虫技术
  2. 跟郎朗媳妇有得一拼的AI,只看弹琴动作,完美复现原声 | CVPR 2020
  3. AngularJS $q 和 $q.all 单个数据源和多个数据源合并(promise的说明)
  4. CenOS6.5安全加固及性能优化(脚本)
  5. 云计算革命对国际关系的影响
  6. excel实战应用案例100讲(六)-社会判断理论:模型及应用
  7. import json java_JAVA的JSON数据包装-博客园老牛大讲
  8. IDEA 断点调试高级玩法 |debug高手必看!
  9. githup用户名密码怎么看_MacBook Pro 开机密码忘记解决方法
  10. i9100美化android.policy.jar,摆脱越狱束缚 三星I9100安装应用更轻松
  11. 使用GCC和GNU Binutils编写能在x86实模式运行的16位代码
  12. 搜狗推出庭审语音识别系统 人工智能下的全新应用
  13. 接口性能测试方案分析
  14. linux权限不够【操作方案】
  15. 谷木美身粥要怎样做?谷木美身粥功效真的那么神奇?
  16. C# 教你如何做打印表格和排版
  17. android 4.4 获取图片主色调,Android Lollipop:使用Palette抽取图片主色调
  18. AE 渲染视频 屏幕闪绿的问题
  19. 编程中的心流模式flow
  20. 计算机密码阈值,帐户锁定阈值 (Windows 10) - Windows security | Microsoft Docs

热门文章

  1. 软件工程实践结对作业二
  2. uniapp 打包之后,部分安卓手机不能安装提示“解析软件包时出现问题”
  3. cv算法工程师学习成长路线
  4. c语言实验报告七大气科学,计算机实验报告
  5. 现代计算机科学 期刊,现代计算机杂志
  6. STEAM 95%好评死亡细胞
  7. Cocos Creator 修改脚本模板
  8. 从零开始的爬虫学习(二)爬取动漫之家的漫画
  9. 使用GeneralUpdate实现.NET客户端程序自动更新
  10. 详细的easyExcel填充数据填充图片及导出示例