Java手機(jī)號(hào)碼工具類示例詳解(判斷運(yùn)營(yíng)商、獲取歸屬地)
所需引用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:手機(jī)號(hào)碼歸屬地工具類 */ public class PhoneUtil { private static PhoneNumberUtil phoneNumberUtil = PhoneNumberUtil.getInstance(); private static PhoneNumberToCarrierMapper carrierMapper = PhoneNumberToCarrierMapper.getInstance(); private static PhoneNumberOfflineGeocoder geocoder = PhoneNumberOfflineGeocoder.getInstance(); /** * 根據(jù)國(guó)家代碼和手機(jī)號(hào) 判斷手機(jī)號(hào)是否有效 * @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ù)國(guó)家代碼和手機(jī)號(hào) 判斷手機(jī)運(yùn)營(yíng)商 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 += "移動(dòng)"; break; case "China Unicom": carrierZh += "聯(lián)通"; case "China Telecom": carrierZh += "電信"; default: } return carrierZh; * * @Description: 根據(jù)國(guó)家代碼和手機(jī)號(hào) 手機(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: 得到手機(jī)的歸宿地編碼 * @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手機(jī)號(hào)碼工具類(判斷運(yùn)營(yíng)商、獲取歸屬地)的文章就介紹到這了,更多相關(guān)Java手機(jī)號(hào)碼工具類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot連接Nacos集群報(bào)400問題及完美解決方法
這篇文章主要介紹了解決SpringBoot連接Nacos集群報(bào)400問題?,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02SpringSecurity OAtu2+JWT實(shí)現(xiàn)微服務(wù)版本的單點(diǎn)登錄的示例
本文主要介紹了SpringSecurity OAtu2+JWT實(shí)現(xiàn)微服務(wù)版本的單點(diǎn)登錄的示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05Spring boot 跳轉(zhuǎn)到j(luò)sp頁面的實(shí)現(xiàn)方法
本篇文章主要介紹了Spring boot 跳轉(zhuǎn)到j(luò)sp頁面的實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-04-04java基于odbc連接oracle的實(shí)現(xiàn)方法
這篇文章主要介紹了java基于odbc連接oracle的實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了連接操作的具體步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-09-09