Проблема, с которой я сталкиваюсь, является источником данных. Я не контролирую источник данных. Все, что я знаю, это то, что я получаю кучу телефонов, и их формат не является последовательным. У некоторых есть международное расширение, некоторые нет. У некоторых есть скобки, дефиса, ведущие 0 и т. Д. Некоторые нет. Что я могу их безопасно хранить? к этой информации. < /p>
Посмотрите на следующий пример: < /p>
Код: Выделить всё
System.out.printLn("Number -> " + phoneNumberUtil.parse("00336555233634", null).toString())
< /code>
Тип ошибки: vallid_country_code. Отсутствует или неверная область по умолчанию. < /P>
< /blockquote>
В моем примере номер - это номер французского мобильного телефона. Два запуска 0 < /code> работают, если вы набираете извне Франции, я полагаю. /> Значит ли это, что нет способа понять, откуда этот конкретный номер телефона? : < /p>
public PhoneNumber parse(CharSequence numberToParse, String defaultRegion)
< /code>
@param defaultregion of Defaultregion, которую мы ожидаем, от
от. Это используется только в том случае, если * проанализированное число не является
, написанным в международном формате. Country_code для номера *
в этом случае будет сохранен как номер по умолчанию
. Если число * гарантированно начнется с '+'
, за которым следует код вызова страны, то может быть поставлен NULL. >
Итак, если добавить +33 < /code> < /p>
System.out.printLn("Number -> " + phoneNumberUtil.parse("+336555233634", null).toString())
< /code>
, естественно, результат: < /p>
number -> Counte Code: 33 Национальный номер: 336555233634 < /p>
< /blockquote>
Что должен /могу сделать, если конечный пользователь поставляет мое приложение с номерами телефонов, которые не начинаются с +
Спасибо за помощь! < /P>
Подробнее здесь: https://stackoverflow.com/questions/525 ... untry-code