在实际的项目开发中,可能会遇到根据手机号获取用户的省市区的需求,那么首先就不要慌,有百度的也有谷歌的,下面我把代码写出来。以谷歌的工具为例:
首先在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; }
希望这个工具能够帮到困惑的小伙伴!!!!