Java手機號碼工具類示例詳解(判斷運營商、獲取歸屬地)
更新時間:2022年02月28日 11:12:05 作者:安和橋@write_boy
這篇文章主要介紹了Java手機號碼工具類示例詳解,通過手機號碼來判斷運營商獲取歸屬地,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
所需引用Jar包
<dependency> <groupId>com.googlecode.libphonenumber</groupId> <artifactId>geocoder</artifactId> <version>2.15</version> </dependency> <dependency> <groupId>com.googlecode.libphonenumber</groupId> <artifactId>libphonenumber</artifactId> <version>6.3</version> </dependency> <dependency> <groupId>com.googlecode.libphonenumber</groupId> <artifactId>prefixmapper</artifactId> <version>2.15</version> </dependency> <dependency> <groupId>com.googlecode.libphonenumber</groupId> <artifactId>carrier</artifactId> <version>1.5</version> </dependency>
工具類源碼
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;
/**
*
* @ClassName: PhoneUtil
* @Description:手機號碼歸屬地工具類
*/
public class PhoneUtil {
private static PhoneNumberUtil phoneNumberUtil = PhoneNumberUtil.getInstance();
private static PhoneNumberToCarrierMapper carrierMapper = PhoneNumberToCarrierMapper.getInstance();
private static PhoneNumberOfflineGeocoder geocoder = PhoneNumberOfflineGeocoder.getInstance();
/**
* 根據(jù)國家代碼和手機號 判斷手機號是否有效
* @param phoneNumber
* @param countryCode
* @return
*/
public static boolean checkPhoneNumber(String phoneNumber, String countryCode){
int ccode = StringUtils.obj2Int(countryCode);
long phone = StringUtils.toLong(phoneNumber);
PhoneNumber pn = new PhoneNumber();
pn.setCountryCode(ccode);
pn.setNationalNumber(phone);
return phoneNumberUtil.isValidNumber(pn);
}
* 根據(jù)國家代碼和手機號 判斷手機運營商
public static String getCarrier(String phoneNumber, String countryCode){
//返回結(jié)果只有英文,自己轉(zhuǎn)成成中文
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 += "聯(lián)通";
case "China Telecom":
carrierZh += "電信";
default:
}
return carrierZh;
*
* @Description: 根據(jù)國家代碼和手機號 手機歸屬地
* @param @param phoneNumber
* @param @param countryCode
* @param @return 參數(shù)
* @throws
public static String getGeo(String phoneNumber, String countryCode){
return geocoder.getDescriptionForNumber(pn, Locale.CHINESE);
* @Title: getPhoneRegionCode
* @Description: 得到手機的歸宿地編碼
* @return String 返回類型
* @throws
public static String getPhoneRegionCode(String phoneNumber, String countryCode){
String areaName=getGeo(phoneNumber,countryCode);
if(StringUtils.isEmpty(areaName)){
return "";
}
if(areaName.length()<3){
return areaName;
public static void main(String[] args) {
System.out.println(getPhoneRegionCode("18931234689","86"));
}
到此這篇關(guān)于Java手機號碼工具類(判斷運營商、獲取歸屬地)的文章就介紹到這了,更多相關(guān)Java手機號碼工具類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java操作數(shù)據(jù)庫(行級鎖,for update)
這篇文章主要介紹了Java操作數(shù)據(jù)庫(行級鎖,for update),文章圍繞Java操作數(shù)據(jù)庫的相關(guān)資料展開詳細內(nèi)容,需要的小伙伴可以參考一下,希望對你有所幫助2021-12-12
java基于Des對稱加密算法實現(xiàn)的加密與解密功能詳解
這篇文章主要介紹了java基于Des對稱加密算法實現(xiàn)的加密與解密功能,結(jié)合實例形式詳細分析了Des加密算法的功能、原理、使用方法與相關(guān)注意事項,需要的朋友可以參考下2017-01-01
如何解決EasyExcel導(dǎo)出文件LocalDateTime報錯問題
這篇文章主要介紹了如何解決EasyExcel導(dǎo)出文件LocalDateTime報錯問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06

