关于Java代码中的获取手机号所在省市区相关的问题

在实际的项目开发中,可能会遇到根据手机号获取用户的省市区的需求,那么首先就不要慌,有百度的也有谷歌的,下面我把代码写出来。以谷歌的工具为例:

首先在maven中引入谷歌的获取手机号省市区的包:

<dependency>
   <groupId>com.googlecode.libphonenumber</groupId>
   <artifactId>geocoder</artifactId>
   <version>2.59</version>
</dependency>

<dependency>
   <groupId>com.googlecode.libphonenumber</groupId>
   <artifactId>libphonenumber</artifactId>
   <version>8.0.0</version>
</dependency>

<dependency>
   <groupId>com.googlecode.libphonenumber</groupId>
   <artifactId>prefixmapper</artifactId>
   <version>2.59</version>
</dependency>
<dependency>
   <groupId>com.googlecode.libphonenumber</groupId>
   <artifactId>carrier</artifactId>
   <version>1.49</version>
</dependency>

这个就是谷歌的所需的包,接下来就是代码段:

public static String getPhoneBelonging(String tel){
    if(!veriyMobile(tel)){
        throw new BaseException(40000,"手机号不符合规范");
    }
    PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
    PhoneNumberOfflineGeocoder phoneNumberOfflineGeocoder = PhoneNumberOfflineGeocoder.getInstance();
    //设置中文开头
    String language = "CN";
    Phonenumber.PhoneNumber referencePhoneme = null;

    try {
        referencePhoneme = phoneUtil.parse(tel, language);
    } catch (NumberParseException e) {
        e.printStackTrace();
    }
    //手机号码归属城市 city
    String city= phoneNumberOfflineGeocoder.getDescriptionForNumber(referencePhoneme, Locale.CHINA);
    return city;
}

希望这个工具能够帮到困惑的小伙伴!!!!

发布了35 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_41331645/article/details/105393993