Голая минимальная информация, необходимая для определения кода страны телефонного номера

Моя задача - взять номер телефона и определить, какой числовой код страны (например, 1 для Канады / США).

Я только начал смотреть на libphonenumber для моих потребностей разбора номера телефона. Я попробовал демо, и он явно требует от меня ввести код региона (например, CA/US), чтобы я не мог определить, будет ли он делать то, что мне нужно, без изучения исходного кода.

Я провел некоторые предварительные исследования телефонных номеров только в Северной Америке, но эта задача требует от меня рассмотрения телефонных номеров со всего мира, что значительно усложняет задачу.

  1. Учитывая только ненормализованный номер телефона, можно ли определить, какой код страны?
  2. Учитывая код города и номер телефона, можно ли определить, какой код страны?

Если 1 и 2 невозможны, какова минимальная информация, необходимая для определения кода страны для определенного номера телефона?

1 ответ

Решение

Для моего понимания вопроса вы хотите определить код страны по местному номеру БЕЗ кода страны.

Ну, код страны используется для определения страны, так что звонящий по телефону не должен делать магию для въезда в конкретную страну. Затем внутри границ конкретной страны поток переходит к следующему раунду: код области определяет область. Затем локальный идентификатор сообщает идентификатор.

Я из Финляндии, и я изучил финскую систему счисления. Я могу сказать, что количество чисел в локальных идентификаторах даже сильно различается, есть несколько длин кодов городов, и, как я прокомментировал со ссылками на ваш вопрос, международные коды стран уже сами по себе являются беспорядком.

Итак, определение международного идентификатора из числа FORMATTED - это трюк # 1. Это даже не прямо вперед. Затем каждая страна самостоятельно определяет зоны (это относится к местным правилам), и даже в локальных зонах есть свои собственные системы, например, в зависимости от того, сколько абонентов находится в конкретной зоне (и это может варьироваться после того, как коды зоны установлены давно) и насколько большой нужно номерное пространство.

Итак, если вы изучите систему форматирования чисел одной страны, вы можете только догадываться, что если число подходит, то оно может принадлежать этой стране. Представьте себе равную по размеру и поровну разделенную соседнюю страну, есть ли такие же правила? Может быть, есть: местные правила не связаны ни между собой, ни исключительно. Они определяются на местном уровне, и никто не ставит отметки о правилах, но только о кодах стран.

Короче говоря, ответ на 1 и 2 отрицательный, не представляется возможным. То же относится и к обоим.

Затем, чтобы сказать, что является минимальным для нахождения кода страны по номеру, нужно указать, что в число включен код страны. Обычный способ принудительного ввода данных - предоставить список для выбора, имеющий коды стран с соответствующими флагами перед фактическим разделом [area][local id], который является вторым полем (они могут быть вместе, если хотите, по вашему выбору). Причина, по которой вы видите такие решения во многих местах, заключается в том, что это единственный способ сделать это осмысленно.

Другие вопросы по тегам