Мне нужно подтвердить ввод пользователем международного телефонного номера. Согласно E.164 максимальная длина составляет 15 цифр, но я не смог найти никакой информации о минимуме. Я рассматриваю только цифры, без знака плюс или разделителей.
validation
SlimShaggy
источник
источник
Ответы:
Что касается разных источников, я думаю, что минимальная длина в формате E-164 зависит от страны к стране. Например:
Для Швеции : минимальная длина номера (без кода страны) составляет 7 цифр. - Официальный источник (код страны 46)
Для Соломоновых островов это 5 для стационарных телефонов. - Источник (код страны 677)
... и так далее. Таким образом, включая код страны, минимальная длина составляет 9 цифр для Швеции и 11 для Израиля и 8 для Соломоновых островов.
Изменить (Чистое решение) : На самом деле, вместо проверки международного телефонного номера с помощью различных проверок, таких как длина и т. Д., Вы можете использовать библиотеку Google libphonenumber . Он может проверить номер телефона в формате E164 напрямую. Он будет учитывать все, и вам даже не нужно указывать страну, если номер имеет действительный формат E164. Это очень хорошо! Возьмем пример:
Если вы знаете страну, для которой вы проверяете числа, вам даже не нужен формат E164, и вы можете указать страну в
.parse
функции вместо передачиnull
.источник
getPhoneType
похоже возвращает UAN. Итак, этот номер 2222 - UAN. Но номера универсального доступа также могут быть длиннее. Технически это кажется верным номером. Так что либо вы можете проверить тип номера телефона или минимальную длину с вашей стороны.РЕДАКТИРОВАТЬ 2015-06-27: минимум составляет 8, включая код страны. Виноват.
Оригинальный пост
Минимальный номер телефона, который я использую, составляет 10 цифр. Международные пользователи всегда должны указывать свой код страны, и, насколько я знаю, нет стран, в которых меньше десяти цифр, если вы посчитаете код страны.
Более подробная информация здесь: https://en.wikipedia.org/wiki/Telephone_numbering_plan
источник
Минимальная длина составляет 4 для острова Святой Елены (формат: +290 XXXX) и Ниуэ (формат: +683 XXXX).
источник