Предсказать / Определить коды стран для телефонных номеров
У меня есть список номеров мобильных телефонов из разных стран из контактов Android. Некоторые из этих контактов имеют коды стран, а некоторые нет.
Итак, решение может быть:
- Получить все поддерживаемые коды стран мира
- Цикл со всеми кодами стран
- Проверьте правильность номера
Это может быть одним из способов прогнозирования числа поддерживаемых стран. Мне интересно, есть ли лучший способ подойти к этой проблеме?
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 коды регионов, где может быть расположен ваш номер телефона