php проверка мобильного номера

Регулярное выражение для получения номера телефона

Номер может принимать вид не только как написано выше, но и есть варианты

Как составить регулярное выражение, чтобы вытягивался только номер, а остальное не учитывалось. В идеале нужно приводить номер к единообразию но пока это не выйдет. Обрезкой не выйдет т.к. начало номера может быть разное (окончание по знаку Отслеживать

php проверка мобильного номера. Смотреть фото php проверка мобильного номера. Смотреть картинку php проверка мобильного номера. Картинка про php проверка мобильного номера. Фото php проверка мобильного номера

3 ответа 3

Вам следует разделить вытаскивание номера и его форматирование. Конечно, всё можно сделать и одной регуляркой, но это решение не будет выглядеть чисто.

Теперь этот номер надо отформатировать. Обычно номера телефонов приводят к числовому значению, поэтому лучше всего просто удалить лишние символы из номера с помощью функции str_replace() :

Если будете помещать номер телефона в базу данных, выбирайте какое-нибудь текстовое поле, иначе те номера, что начинаются с нуля, как верно подметил @Miron, в дальнейшем могут быть некорректно обработаны. Старайтесь работать с номером телефона как со строкой, а не как с числом.

php проверка мобильного номера. Смотреть фото php проверка мобильного номера. Смотреть картинку php проверка мобильного номера. Картинка про php проверка мобильного номера. Фото php проверка мобильного номера

Чтобы приводить номер к единому образу следует пользоваться библиотеками для форматирования. Например, популярной библиотекой libphonenumber :

php проверка мобильного номера. Смотреть фото php проверка мобильного номера. Смотреть картинку php проверка мобильного номера. Картинка про php проверка мобильного номера. Фото php проверка мобильного номера

Предлагаю автору вопроса, все же для начала привести базу номеров телефонов к единому виду, чтобы не хранить в БД некорректные номера. Если номера телефонов могут быть из разных стран, нужно обязательно хранить код страны отдельно от самого номера и кода оператора/города. Иначе могут возникнуть проблемы.

Никогда не храните номера телефонов, в виде числа. Связано это с тем, что если номер телефона будет начинаться с нуля(ей) при приведении его к типу int вы навсегда потеряете ведущие нули. Номера телефонов нужно хранить исключительно в виде строки (string).

Источник

Подтверждение номера телефона по SMS

Широкое распространение на сайтах коммерческой тематики получили формы обратной связи типа «Заказать звонок». Пользователю сайта предлагается форма с полями: имя и телефон. Заполнив данные, пользователь ждет звонка на указанный номер телефона. А что если пользователь указал не свой телефон?

Или другая ситуация: пользователь сайта забыл свой пароль от учетной записи и в качестве альтернативы желает получить новый пароль на свой номер телефона (указанный в учетной записи). Естественно, он должен знать свой номер телефона и иметь его под рукой, так как SMS придет лишь на прикрепленный телефон.

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

Верификация телефона по SMS

Проверить принадлежность номера телефона пользователю достаточно просто: на номер телефона высылается одноразовый код в SMS сообщении с последующим подтверждением кода на сайте.

Форма для подтверждения телефона по SMS (которую мы сегодня сделаем собственноручно) выглядит примерно следующим образом:

php проверка мобильного номера. Смотреть фото php проверка мобильного номера. Смотреть картинку php проверка мобильного номера. Картинка про php проверка мобильного номера. Фото php проверка мобильного номера Форма для верификации телефона по одноразовому SMS

Принцип работы

Данный скрипт не является «готовым продуктом», он лишь иллюстрирует механизм верификации телефона по SMS и потребует от Вас его адаптации под конкретные нужды.

Использование SMS шлюза

После регистрации, в личном кабинете в меню найдите «Программистам», в этой вкладке найдете Ваш api_id. Он вам понадобится далее.

HTML форма валидации телефона

Создадим HTML форму для валидации телефона пользователя: модальное окно, поля для ввода и проверки данных (примерный вид как на скрине выше). Для этого создадим файл index.php c содержимым:

В этом файле обратим внимание на последние строчки, где указывается маска для ввода телефона. Для Украины: +38 (099) 999-99-99 для России: +7 (999) 999-99-99

И создадим файл со стилями CSS под названием «style.css» (положим его рядом с index.php)

Обработчик подтверждения номера телефона по SMS вынесем в отдельный файл «act.php«. Его содержимое:

В обработчике формы обратите внимание на конфигурацию параметров в первых строках: необходимо указать:

В коде обработчика, в случае успешной валидации телефона, изменяете код под свои нужды.

Специализируюсь на безопасности сайтов: защищаю сайты от атак и взломов, занимаюсь лечением вирусов на сайтах и профилактикой.

Наверняка у Вас есть вопросы, просьбы или пожелания. Не стесняйтесь спросить, я отвечаю всегда быстро.

Источник

Проверка данных регулярными выражениями в PHP

Содержание:

php проверка мобильного номера. Смотреть фото php проверка мобильного номера. Смотреть картинку php проверка мобильного номера. Картинка про php проверка мобильного номера. Фото php проверка мобильного номера

Сборник основных шаблонов регулярных выражений на PHP для проверки данных.

Проверка набора из латинских букв и цифр

Регулярное выражение для проверки набора только из латинских букв и цифр:

Если необходимо добавить в набор некоторые символы:

Проверка на кириллицу и цифры

Регулярное выражение для проверки набора только из букв кириллицы и цифр:

Проверка на число

Регулярное выражение для проверки данных на целое число:

Регулярное выражение для проверки данных на тип Float (числа с плавающей точкой):

Проверка логина

Регулярное выражение для проверки логина. Разрешено использовать только латинские буквы, цифры, тире и знак подчёркивания. Длина логина от 2 до 20 символов (включительно):

Проверка Email

Регулярное выражение для проверки Email:

Проверка номера телефона

Регулярное выражение для проверки номера телефона:

Проверка даты по формату

Формат MySQL YYYY-MM-DD :

Проверка md5-хэша

Регулярное выражение для проверки на корректность md5-хэша:

Проверка IP адресов

Регулярное выражение для проверки IPv4 адреса:

Проверка IPv6 адреса:

Проверка доменного имени

Регулярное выражение для проверки на корректность доменного имени сайта:

Источник

Проверка длины номера телефона

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

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

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Валидация номера телефона
кто подскажет ркгулярку, чтобы номер телефона можно было воодить только в таком формате (###).

Форматировать вывод номера телефона
php строчка через echo выводит на страницу номер телефона, заполненный пользователем. Как.

php проверка мобильного номера. Смотреть фото php проверка мобильного номера. Смотреть картинку php проверка мобильного номера. Картинка про php проверка мобильного номера. Фото php проверка мобильного номераВывод номера телефона из текста
Доброе время суток. Заранее извиняюсь если тема повторяется, но в поиске я ответа так и не нашел.

Защита номера телефона от парсинга
Всем доброго дня! Хочу спросить у тех, кто делал всевозможные парсеры контента: возможно спрятать.

Спасибо всем, кто откликнулся, можно мне все же прямо в моем коде указать, а то я в пхп не очень понимаю, но задача поставлена и ее мне нужно исполнить

Добавлено через 46 секунд
1

i
Куда и в каком виде вставлять?

Добавлено через 1 минуту

+375 44-779-16-00 Вот в таком виде приходит на мыло

Добавлено через 2 минуты

грёбаные регулярки 😀

не не.. я не спорю. И готов поклоняться богам, которые у них шарят.
А я не бог нихрена

Добавлено через 1 минуту
если

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Парсинг номера телефона с событием
Здраствуйте. Я новичёк в парсинге и решил написать простой код для парсинга номера телефона со.

php проверка мобильного номера. Смотреть фото php проверка мобильного номера. Смотреть картинку php проверка мобильного номера. Картинка про php проверка мобильного номера. Фото php проверка мобильного номераРегулярное выражение для номера телефона
Здравствуйте. Подскажите, пожалуйста, как можно преобразовать строку 8 (999) 999-99-99 в.

Вывод номера телефона в виде Skype
Привет всем!Извините если «не угадал» с разделом, вопрос такой: У меня на сайте идёт вывод.

php проверка мобильного номера. Смотреть фото php проверка мобильного номера. Смотреть картинку php проверка мобильного номера. Картинка про php проверка мобильного номера. Фото php проверка мобильного номераПеребрать все варианты номера телефона
Подскажите пожалуйста. Есть номер телефона 99999, как перебрать и вывести все варианты написания.

Источник

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

Возникла задача автоматического форматирования телефонных номеров в виде страна (город) номер, и первым делом я обратился к существующим решениям.
К сожалению, оказалось, что все найденные решения основываются на обычном подгоне строки под пользовательский формат, имея ограниченную область применения и ошибки при выходе за ее пределы.

Для начала приведу обзор найденных решений. Тем, кому это не интересно, рекомендую прокрутить ниже до заголовка «Форматы телефонных номеров» — там уже представлен мой вариант разбора номера с ссылкой на код.

Всеуничтожающий примитив

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

Форматирование с помощью sscanf

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

Symfony, lib/helpers/PhoneHelper.php, format_phone

Функция позволяет не только форматировать в XXX-XXXX, (XXX) XXX-XXXX и X (XXX) XXX-XXXX, но и конвертировать номера, написанные цифрами. Ограниченность функции в форматировании номеров длиной 7, 10 и 11 символов никак не подходит.

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

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

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

На самом деле, все оказалось не так страшно. В каждой стране можно разделить все коды городов на две части: на те, что в большинстве своем совпадают по длине, и все остальные. Этого достаточно, чтобы резко сократить область перебора кодов при сравнении. Т.е. можно создать массив из данных по каждой стране вида:

// тесты
echo phone( «+38 (044) 226-22-04» ). «
» ;
echo phone( «0038 (044) 226-22-04» ). «
» ;
echo phone( «+79263874814» ). «
» ;
echo phone( «4816145» ). «
» ;
echo phone( «+44 (0) 870 770 5370» ). «
» ;
echo phone( «0044 (0) 870 770 5370» ). «
» ;
echo phone( «+436764505509» ). «
» ;
echo phone( «(+38-048) 784-15-46 » ). «
» ;
echo phone( «(38-057) 706-34-03 » ). «
» ;
echo phone( «+38 (044) 244 12 01 » ). «
» ;
?>

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

Самое интересное

Используя информацию с сайтов:
http://www.mtt.ru/info/def/index.wbp
http://www.hella.ru/code/codeuro.htm
http://www.scross.ru/guide/phone-global/
я собрал массив данных по всем представленным странам, включая города-исключения, флаги zeroHack, а также коды мобильных сетей. Код можно загрузить здесь.

Быстродействие

Вопреки всем самым пессимистичным ожиданиям, код отрабатывает 10.000 номеров менее чем за 2 секунды.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *