Проверка номера мобильного телефона

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Проверка номера мобильного телефона

Сообщение Игорь Столяров »

Привет всем ! :)

Возникло непреодолимое желание проверять номера мобильных телефонов клиентов в программе.

Хотя бы РФ и хотя бы просто по синтаксису ... Существуют ли вообще какие-то описания требований ?
Например те же таблицы или диапазоны корректных кодов операторов ? Правила составления номеров ?

Или может быть кто-нибудь пробовал решить задачу на Clarion ?
Заранее спасибо за наводку ...
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Проверка номера мобильного телефона

Сообщение kreator »

Мне кажется, что мобильный номер в России имеет только десять цифр плюс код страны. Скорее всего и международный такой. Есть у меня разработка программы для биллинга. Могу вечером дома попробовать найти файл данных конторы, которая предоставляет услуги связи, и посмотреть какие есть вообще варианты. Помню, что есть там справочник кодов, который показывает страну/регион+тип ('7903' - 'Россия/Билайн'). Иностранные операторы, сдаётся мне, не расписаны точно. Но надо посмотреть.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Проверка номера мобильного телефона

Сообщение Игорь Столяров »

Ну там у них без нас всё запущено ... ;)

Вижу два пути, постараюсь с этого что-то слепить:

1. Действительно есть таблицы кодов мобильных операторов и правила составления номеров.
Например: http://codificator.ru/code/mobile/

2. Можно "попросить" оператора сервиса SMS рассылок отправить тестовое служебное сообщение
на номер мобильного телефона (бесплатно). Это проверит не только правильность номера, но и его доступность.
При этом такое сообщение на телефоне показано не будет - просто тест связи.
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Проверка номера мобильного телефона

Сообщение kreator »

1. Сейчас номер как-бы "отвязан" от оператора. В общем не важно, Мегафон, МТС и т.д.
2. А если телефон выключен?
Мне кажется - синтаксис однозначный, 10 цифр. Доступность номера в данный момент - совсем под вопросом. Операторы не блокируют какое-то время даже номер с долгами. А потом передают номер другому (я с этим столкнулся, вообще хохма).
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Проверка номера мобильного телефона

Сообщение Игорь Столяров »

kreator писал(а): 01 Август 2017, 12:10Мне кажется - синтаксис однозначный, 10 цифр
Да, и начало должно быть "+79" или '89'. В номере не должно быть ничего кроме цифр, скобок и разделителей (пробел, дефис).
Ну и опционально, проверка доступности. Уже хорошо. :)
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Проверка номера мобильного телефона

Сообщение kreator »

Надо ещё посмотреть - нет ли кодов городов, начинающихся с девятки.
We are hard at work… for you. :)
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Проверка номера мобильного телефона

Сообщение RaFaeL »

kreator писал(а): 01 Август 2017, 11:12Мне кажется, что мобильный номер в России имеет только десять цифр плюс код страны. Скорее всего и международный такой.
Международные бывают и длиннее
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Проверка номера мобильного телефона

Сообщение Admin »

Требование вводить в международном формате!
А дальше я бы вот такое предложил:

Код: Выделить всё

             PROGRAM
             MAP
               PhoneNumber(STRING Phone),STRING
             END

 CODE
 MESSAGE(|
 PhoneNumber('8-914-541-23-92')&'|'&|
 PhoneNumber('8-(914)54123-92')&'|'&|
 PhoneNumber('8-09-1-4-5-4-1-2-,3-92 телефон')&'|'&|
 PhoneNumber('+8234523455914-541-23-92')&'|'&|
 PhoneNumber('8-(914-541-23-92)')&'|'&|
 PhoneNumber('8-41-23-92)'))


PhoneNumber PROCEDURE(STRING Phone)!,STRING
lCik        BYTE
lPos        BYTE(10)
lPhone      STRING(10)
  CODE
  LOOP lCik = LEN(Phone) TO 1 BY -1
    IF MATCH(Phone[lCik],'[0-9]', Match:Regular)
      lPhone[lPos] = Phone[lCik]
      lPos-=1
      IF lPos = 0 THEN BREAK END
    END
  END
  lPhone = LEFT(lPhone)
  IF LEN(CLIP(lPhone)) = 10
    RETURN '+7'&lPhone
  END
  RETURN '-BAD CALL-'
2017-08-03_15-04-34.png
2017-08-03_15-04-34.png (9.59 КБ) 2718 просмотров
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Проверка номера мобильного телефона

Сообщение Admin »

Хотя да, такое верно наверное только для России :)
За границей, кто в лес кто по дрова: https://www.virtualvista.com/app/public ... es?lang=ru
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Проверка номера мобильного телефона

Сообщение kreator »

Admin писал(а): 03 Август 2017, 8:09 За границей, кто в лес кто по дрова: https://www.virtualvista.com/app/public ... es?lang=ru
Да уж. Без локализации не обойтись. Вот iPhone чётко отображает - +7 (ххх) ххх-хх-хх. Видимо, внутри есть настройка на формат телефона в России.
We are hard at work… for you. :)
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Проверка номера мобильного телефона

Сообщение gopstop2007 »

толку от номера? в скайпе можно любой придуманный номер указать и с него звонить не говоря про другие мессенджеры
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Проверка номера мобильного телефона

Сообщение Игорь Столяров »

gopstop2007 писал(а): 03 Август 2017, 15:49в скайпе можно любой придуманный номер
Не о том песня эта ... причём совсем. Нет задачи контролировать по номеру звонящего абонента.
Есть масса мест, где клиент сообщает оператору свой номер телефона: контактные реквизиты при сдаче в ремонт,
приём моментальных платежей для пополнения баланса, сейчас еще и он-лайн чеки при любой оплате и т.д.

Человеку свойственно ошибаться, особенно когда вводишь эти номера телефонов по сотне в день: там "+" забыл
перед "7", в другом месте пропустил первую "8", два раза сработала клавиша при нажатии цифры и т.д.
Нужен хотя бы минимальный контроль вводимых данных, что бы потом система могла по этим номерам
отправлять уведомления, проводить платежи, отправлять чеки и т.д. Вот и всё. И не более того ... ;)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Проверка номера мобильного телефона

Сообщение RaFaeL »

Так задай в поле пользовательский формат и всё
@K+7 (###) ###-##-##K
От опечатки в цифре вряд ли что-то поможет
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Проверка номера мобильного телефона

Сообщение gopstop2007 »

Игорь Столяров писал(а): 03 Август 2017, 16:45
Не о том песня эта ... причём совсем. Нет задачи контролировать по номеру звонящего абонента.
А чем двух факторная верификация не устраивает? через смс?
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Проверка номера мобильного телефона

Сообщение Игорь Столяров »

RaFaeL писал(а): 03 Август 2017, 18:04Так задай в поле пользовательский формат и всё
Тоже хороший вариант, но не гибкий. Кто-то оставляет городской номер, кто-то мобильный ...
Опять-таки, как верно заметили ранее, попадаются номера украинских операторов и т.д.
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить