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

147

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

SlimShaggy
источник
Хороший вопрос. Вы смогли найти ответ на этот вопрос?
Шобхит Пури
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 цифр, включая код страны.
владелец