Какова минимальная длина действующего международного номера телефона?


147

Мне нужно подтвердить ввод пользователем международного телефонного номера. Согласно E.164 максимальная длина составляет 15 цифр, но я не смог найти никакой информации о минимуме. Я рассматриваю только цифры, без знака плюс или разделителей.


Хороший вопрос. Вы смогли найти ответ на этот вопрос?
Шобхит Пури

1
ссылка показывает минимум 7
LoranceChen

Ответы:


122

Что касается разных источников, я думаю, что минимальная длина в формате E-164 зависит от страны к стране. Например:

  • Для Израиля : минимальная длина телефонного номера (без кода страны) составляет 8 цифр. - Официальный источник (код страны 972)
  • Для Швеции : минимальная длина номера (без кода страны) составляет 7 цифр. - Официальный источник (код страны 46)

  • Для Соломоновых островов это 5 для стационарных телефонов. - Источник (код страны 677)

... и так далее. Таким образом, включая код страны, минимальная длина составляет 9 цифр для Швеции и 11 для Израиля и 8 для Соломоновых островов.

Изменить (Чистое решение) : На самом деле, вместо проверки международного телефонного номера с помощью различных проверок, таких как длина и т. Д., Вы можете использовать библиотеку Google libphonenumber . Он может проверить номер телефона в формате E164 напрямую. Он будет учитывать все, и вам даже не нужно указывать страну, если номер имеет действительный формат E164. Это очень хорошо! Возьмем пример:

String phoneNumberE164Format = "+14167129018"
PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
try {
    PhoneNumber phoneNumberProto = phoneUtil.parse(phoneNumberE164Format, null);
    boolean isValid = phoneUtil.isValidNumber(phoneNumberProto); // returns true if valid
    if (isValid) {
        // Actions to perform if the number is valid
    } else {
        // Do necessary actions if its not valid 
    }
} catch (NumberParseException e) {
    System.err.println("NumberParseException was thrown: " + e.toString());
}

Если вы знаете страну, для которой вы проверяете числа, вам даже не нужен формат E164, и вы можете указать страну в .parseфункции вместо передачи null.


О боже, где была эта ссылка Google несколько недель назад! :-) Спасибо!
AMM

Я, я недавно обновил его. Извините за задержку. Надеюсь, поможет.
Шобхит Пури

@ShobhitPuri Я думаю, что библиотека Google также говорит, что «2222» является допустимым числом, поэтому, возможно, должна быть минимальная длина для проверки.
Android-разработчик

@androiddeveloper Я попробовал ваш номер выше на libphonenumber.appspot.com. Но он сказал, что это невозможно. С каким кодом страны вы пробовали этот номер? Также есть две функции: одна проверяет, является ли ее возможное число, а другая проверяет, является ли она действительной. Я не думаю, что нам нужна проверка длины.
Шобхит Пури

На самом деле, когда я пытаюсь сделать это с кодом страны Израиль, он показывает действительный. Может быть, вы можете проверить количество типов . getPhoneTypeпохоже возвращает UAN. Итак, этот номер 2222 - UAN. Но номера универсального доступа также могут быть длиннее. Технически это кажется верным номером. Так что либо вы можете проверить тип номера телефона или минимальную длину с вашей стороны.
Шобхит Пури

15

РЕДАКТИРОВАТЬ 2015-06-27: минимум составляет 8, включая код страны. Виноват.

Оригинальный пост

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

Более подробная информация здесь: https://en.wikipedia.org/wiki/Telephone_numbering_plan


12
Соломоновы Острова могут иметь 8, включая код страны ( en.wikipedia.org/wiki/Telephone_numbers_in_the_Solomon_Islands )
Том Херд

Спасибо @TomHeard - пересмотрел мой пост!
Хамон Холмгрен

10

Минимальная длина составляет 4 для острова Святой Елены (формат: +290 XXXX) и Ниуэ (формат: +683 XXXX).


3
Остров Святой Елены изменен на 5 цифр (исключая код страны) - en.wikipedia.org/wiki/…
Чок Ян Ченг

4
Согласно en.wikipedia.org/wiki/Telephone_numbers_in_Niue , Ниуэ имеет только 7 цифр, включая код страны.
владелец
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.