Predict/Identify 个国家/地区代码 phone 个号码

Predict/Identify country codes for phone numbers

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

因此,解决方案可能是:

  1. 获取全球所有支持的国家代码
  2. 循环一个包含所有国家代码的号码
  3. 检查号码的有效性

这可能是预测受支持国家/地区数量的一种方法。我想知道是否有更好的方法来解决这个问题?

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 将包含您的 phone 号码所在区域的 ISO 代码