формат телефонных номеров

Кратко:

телефоны должны выглядеть так: +7 XXX XXX-XX-XX

Длинно:

Да, я читал кальку написанную на https://wiki.openstreetmap.org/wiki/RU:Key:phone и не вижу ни одной причины ей слеловать.

Аргументы:

  • мы в России, тут принято писать номера так +7 XXX XXX-XX-XX

  • +7 XXX XXX-XX-XX гораздо легче читать чем +7 XXX XXXXXXX

  • нет ни одной весомой причины писать +7 XXX XXXXXXX

  • Android форматирует при вводе, умеет работать, и записывает в icard номер +7 XXX XXX-XX-XX

  • IOS форматирует при вводе номер +7 (XXX) XXX-XX-XX, но так же прекрасно справляется с номерами +7 XXX XXX-XX-XX

  • OSMAND прекрасно работает c номерами +7 XXX XXX-XX-XX

  • MAPS.ME так вообще все номер показывает +7 XXX XXX-XX-XX не зависимо от того, как они записаны в базе

  • все браузеры нормально работают с ссылками href=“tel:+7 XXX XXX-XX-XX”

  • https://www.artlebedev.ru/kovodstvo/sections/91/

  • А заодно: дубльгис, гугл и яндекс показывают последнюю часть номера с дефисами XXX-XX-XX

Несогласные со мной — я требую голосования, или как тут решаются подобные вопросы.
Согласные со мной — спасибо за трезвость!

Я все телефонные номера добавляю как +380XXXXXXXXX. Это для Украины. Без дополнительных пробелов и лишних символов.

для украины соответственно должно быть +380 XX XXX-XX-XX

Подобные вопросы тут решаются очень просто. Поскольку инициатива по изменению существующего порядка вещей исходит от вас, то и всё процедурное сопровождение тоже за вами. Создайте пропозал, приведите аргументы (только чтобы это не выглядело так, будто бы вы в чём-то стыдите или обвиняете всех остальных членов сообщества), выложите ссылку сюда, будьте готовы ответить на заданные вопросы. А вот по принципу “я вбросил информацию и требую, что все остальные раскачались” - точно не выйдет ничего.

Не вопрос!

Это как?

Уже привёл же.

А в каком месте оно так выглядит?

Я такого даже и не думал.

Не согласен.

У нас, например, городские номера записывают так: +7 8112 11-22-33 (и 2гис делает так же)

Прочитайте https://wiki.openstreetmap.org/wiki/Key:phone
Там вы найдете чуть больше полезной информации и примеров

Полагаю, Вы друг другу не противоречите:
принято записывать номера в виде +7 XXX XXX-XX-XX для регионов с трёхзначном кодом и для мобильных номеров, +7 XXXХ XX-XX-XX - для регионов с четырёхзначным кодом.

Всё верно, противоречия нет. Для города с кодом 8112 номера должы писаться +7 8112 11-22-33. Для Питера: +7 812 111-22-33.

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

Именно! Но сейчас принято писать +7 XXX XXXXXXX и я хочу положить этому конец!

Что за “номеронабиратель”?

Мы в международном проекте и ITU рекомендует использовать при записи номеров в международном формате в качестве разделителей только пробелы.

Ваш пост по сути о форматировании номеров в программах, которые их показывают, а не о формате номеров в базе.
И если программисты озаботились этим форматированием, то всё будет так, как вы хотите.
Maps.me показывает то, что в базе записано (у меня так по крайней мере).
И то что Тёма пишет, тоже справедливо для программ, когда они вам показывают номер. Ну или когда вы на листочек его записываете.

Поэтому рекомендую использовать
+7 DEF XXXXXXX
+7 ABC XXXXXXX
+7 ABCD XXXXXX
+7 ABCDE XXXXX
а программисты по шаблону отформатируют, ну или попробуют.

А мне больше нравится писать согласно RFC 3966/NANP.
И пока что не вижу чем этот вариант хуже ITU-T E.123/DIN 5008.
Согласно wiki (как английской, так и русской) вполне допускаются оба.

мне кажется, практически во всех ваших постах.

Похоже, весь ваш спор из области “как записать Первая улица строителей”? И варианты:
1я улица
1-я
1ая
1-вая
И т. д.
Хотя в официальном документе ясно сказано “1 улица строителей”. Но так же, блин, неудобно читать! И начинается…

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

Я думаю все можно свести к приведению статьи RU в соответствие с EN, и дополнить её рекомендацией группировать локальную часть номера согласно местным обычаям, чтобы человекам было удобнее.

&ergio где ?? у нас на раёне ??
выделение трех цифр используется только в тех городах где кода города = 3 цифры.
у меня в городе код - 4 цифры. в более мелких населенных пунктах код города может и 5 и 6 цифр.

некое устройство, через которое работа с сетью связи, обычной проводной, сотовой или иной системы.

обычно это модем, большинство модемов (и современных 3ж…5ж усб-свистков) поддерживают консольное управление через стандартные AT-команды, которые ведут исорию c "Hayes command set " 81 года.

согласно этим командам набор номера делается через
ATD<номер>
где номер строчка из символов “0”…“9” “*” “#” “+” “A” “B” “C” “,” “!” “W” “@”
все остальные либо игнорятся, либо выдают ошибку.

так что пробел " " дефис “-” скобки “(” “)” и прочие “человеческие” разделители должны программой удалятся из строчки номера перед отправкой в модем (как вариант их может удалять и сам модем).
их можно ставить где угодно и как угодно - адресация в сети связи от них не изменится.

Для базы считаю лучшим вариант, который привёл parukhin.
Разделение только пробелами.

Со всякими палочками не лучший вариант. А аргументы по поводу удобно читать глазами человеку и прочее по поводу внешнего вида считаю не имеющим отношения к базе.
Может там такая палочка “-”, а может такая “‐” или такая “‑”, такая “–”, кто знает может эта “—”, эта тоже похожа “―” или вообще такая “─” палочка, а вдруг там вообще “_” и её производные?!
Мне как программисту придётся делать лишнее движение*: брать из строки только цифры, чтоб не описывать все возможные палочки (пример выше с - и _) и загонять под свою маску.

Android v2, v5, v7, v8 делит у меня как +7 XXX XXXXXXX. Может регион учитывает(Казахстан), российские номера и ближнего зарубежья аналогично делит.

*Оправдано, так как может попасться ненужный мусор типа “+1 234 5678901 Света из приёмной”

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

вариант палочки эквипенисуален. любую из них надо удалять из номера перед отсылкой модему, они все не соответствуют стандартным символам набора номера.
маску соответствия стандарту на номер ты все равно будешь натягивать.
да кстати и строчку будешь приводить к 8 битной ASCII :slight_smile:

Это в любом случае придётся делать, если хочется получить нормально работающую программу. Так что ничего лишнего не будет.

С пробелами ровно та же ситуация.
Точно так же может встретиться такой пробел - " ", а может вот такой - " ". Или вот такой - " ". Или такой - " ".