Java判断手机号归属地

您所在的位置:网站首页 号段查询归属地 Java判断手机号归属地

Java判断手机号归属地

2023-06-29 01:17| 来源: 网络整理| 查看: 265

这篇文章主要介绍了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仓库依赖:

com.googlecode.libphonenumber libphonenumber 8.7.1 com.googlecode.libphonenumber geocoder 2.76 com.googlecode.libphonenumber carrier 1.66

调用使用的代码:

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3