预测/识别电话号码的国家/地区代码

时间:2016-08-13 08:09:50

标签: java android phone-number libphonenumber mobile-country-code

我有Android联系人来自不同国家/地区的手机号码列表。其中一些联系人有国家代码,而其中一些没有。

因此,解决方案可能是:

  1. 获取全球支持的国家/地区代码
  2. 循环包含所有国家/地区代码的号码
  3. 检查号码的有效性
  4. 这可能是预测受支持国家/地区数量的一种方法。我想知道是否有更好的方法来解决这个问题?

1 个答案:

答案 0 :(得分:1)

PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();

String numberStr = "04157012311";
Set<String> allRegions = phoneUtil.getSupportedRegions();
Set<String> validRegions = new LinkedHashSet<String>();

for (String region : allRegions) {
  try {
    if (phoneUtil.isValid(phoneUtil.parse(numberStr, region))) {
      validRegions.add(region);
    }        
  } catch (NumberParseException e) {
    // Handle NumberParseException
  }
}

validRegions将包含您的电话号码所在地区的ISO代码