java 手机号归属地查询
来源:互联网 发布:独立级轻型航母数据 编辑:程序博客网 时间:2024/04/30 11:24
根据手机号码查询归属地、运营商我们引用google的libphonenumber包,libphonenumber是用于解析、格式化、存储和校验电话号码的Java、C++或JavaScript类库。
依赖jar包:com.googlecode.libphonenumber(Libphonenumber、Geocoder、Prefixmapper、Carrier)
jar包下载地址:http://mvnrepository.com/search?q=libphonenumber(我们也可以使用maven配置)
package com.yuanzubao.common.util;import java.util.Locale;import com.google.i18n.phonenumbers.PhoneNumberToCarrierMapper;import com.google.i18n.phonenumbers.PhoneNumberUtil;import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber;import com.google.i18n.phonenumbers.geocoding.PhoneNumberOfflineGeocoder;/** * 手机号归属地查询 * 依赖jar包:com.googlecode.libphonenumber(Libphonenumber、Geocoder、Prefixmapper、Carrier) * 开发者:wangql * 开发时间:2015-11-24 * */public class PhoneUtil {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 pn = new 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 pn = new 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 getGeo(String phoneNumber, String countryCode){ int ccode = Integer.valueOf(countryCode); long phone = Long.valueOf(phoneNumber); PhoneNumber pn = new PhoneNumber(); pn.setCountryCode(ccode); pn.setNationalNumber(phone); return geocoder.getDescriptionForNumber(pn, Locale.CHINESE); }}
注:countryCode是国家代码,大陆的编号是86
0 0
- java 手机号归属地查询
- 手机号归属地查询
- 查询手机号归属地
- 根据手机号查询归属地
- 根据手机号查询归属地
- 手机号归属地查询接口
- 手机号的归属地查询
- 通过Java代码实现手机号归属地查询
- java手机号归属地验证
- java获取手机号归属地
- 根据手机号 查询手机归属地信息
- android Webservice 手机号归属地查询
- 调用webservice查询手机号归属地
- 利用百度API查询手机号归属地
- IP、域名、手机号归属地查询
- 微信小程序实例 - 手机号归属地查询
- 手机号归属地如何批量查询?
- 手机号批量查询归属地的方法
- nc
- java.security.MessageDigest 信息加密
- button 控件没有选择type类型导致kindeditor弹窗不能正常显示的错误
- android下载封装类Download,支持断点下载
- PopWindows如何在屏幕的中间显示的问题.
- java 手机号归属地查询
- HttpContext.Current.Request.ServerVariables.AllKeys
- Latex强制图片位置及minipage插入多幅子图
- win10环境变量出错,注册表可能损坏
- 莫比乌斯反演
- 幸亏没生在古代
- linux shell 获取当前正在执行脚本的绝对路径
- spring ioc容器
- jdk环境变量配置