Регулярные выражения php номер телефона
Регулярное выражение на номер телефона
На сайте есть регулярка на ввод номера телефона
Но все равно можно вводить абсолютно любые цифры, в чем проблема?
2 ответа 2
Дело в том, что наличие атрибута ‘pattern’ у input’а не запрещает ввод других символов, не подходящих под этот паттерн. Он срабатывает после нажатия кнопки типа Submit формы и в этом случае запускается проверка введенного значения на соответствие шаблону. Подробнее.
Если соответствия нет, то форма не отправится дальше. Кроме того, при потере фокуса с элемента ввода и нажатии обычных кнопок (type=»button») валидация так же не сработает.
Если вы хотите динамически проверять вводимые символы, то необходимо использовать JavaScript на странице. Можно воспользоваться одной из готовых библиотек по заданию масок, например.
Рискну предположить что проблема в том, что строку регулярного выражения следует взять в кавычки так как это атрибут html.
Всё ещё ищете ответ? Посмотрите другие вопросы с метками php или задайте свой вопрос.
Похожие
Подписаться на ленту
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.9.17.40238
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Регулярное выражение для получения номера телефона
Номер может принимать вид не только как написано выше, но и есть варианты
Как составить регулярное выражение, чтобы вытягивался только номер, а остальное не учитывалось. В идеале нужно приводить номер к единообразию но пока это не выйдет. Обрезкой не выйдет т.к. начало номера может быть разное (окончание по знаку Отслеживать
3 ответа 3
Вам следует разделить вытаскивание номера и его форматирование. Конечно, всё можно сделать и одной регуляркой, но это решение не будет выглядеть чисто.
Теперь этот номер надо отформатировать. Обычно номера телефонов приводят к числовому значению, поэтому лучше всего просто удалить лишние символы из номера с помощью функции str_replace() :
Если будете помещать номер телефона в базу данных, выбирайте какое-нибудь текстовое поле, иначе те номера, что начинаются с нуля, как верно подметил @Miron, в дальнейшем могут быть некорректно обработаны. Старайтесь работать с номером телефона как со строкой, а не как с числом.
Чтобы приводить номер к единому образу следует пользоваться библиотеками для форматирования. Например, популярной библиотекой libphonenumber :
Предлагаю автору вопроса, все же для начала привести базу номеров телефонов к единому виду, чтобы не хранить в БД некорректные номера. Если номера телефонов могут быть из разных стран, нужно обязательно хранить код страны отдельно от самого номера и кода оператора/города. Иначе могут возникнуть проблемы.
Никогда не храните номера телефонов, в виде числа. Связано это с тем, что если номер телефона будет начинаться с нуля(ей) при приведении его к типу int вы навсегда потеряете ведущие нули. Номера телефонов нужно хранить исключительно в виде строки (string).
Регулярные выражения: формат телефонного номера (сотовый, российский)
Добавлено через 1 час 39 минут
забыл сказать, на входе номера телефонов разного формата:
427-63-22
495-789-5566
(950)354-66-2-4
и т.д.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Регулярные выражения: проверка правильности введенного телефонного номера
Здравствуйте уважаемые форумчане. Подскажите пожалуйста как решить эту задачу: Дан текст.
Преобразование телефонного номера
Номер телефона хранится в формате +380975555555. На выводе нужно функцией преобразовать в формат.
Как изменить формат отображения телефонного номера в базе?
Здравствуйте друзья. В базе есть номера мобильных телефонов вида: «8928XXXXXXX» надо перевести их.
вид 79ххххххх или 89ххххххххх оставить нужно, а потом отрезать от них 7 и 8 (те что в начале).
а не проще применить тогда такой алгоритм:
1. удалить все лишние знаки
2. Проверяем первый символ телефона и оставляем только 7, 8 и 9
3. Проверяем на количество символов:
— если первая цифра 7 или 8, то 11
— если 9 (а мы считаем что на 9 начинаются сотовые телефоны в России), то 10
4. Если 11 символов, то второе число должно быть «9»
5. ну и удаляем 7 и 8
В принципе, я думаю этих условий достаточно чтобы найти сотовый телефон России
Вот небольшой код (на скорую руку, поэтому может быть не самым оптимальным решением)
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Регулярные выражения для номера телефона с кодом
Всем привет В общем, нужно ввести номер телефона с кодом и при выводе этого номера на экран.
Переадресация с внешнего номера на сотовый
Подскажите как реализовать переадресацию с внешнего номер, на сотовый, по определенному времени.
Поиск телефонного номера в строке
Всем привет. Такая задача. Есть текст. Надо написать программу, которая проверяет, есть ли в строке.
Регулярные выражения php номер телефона
Процесс разработки веб-приложений значительно отличается от разработки программного обеспечения, однако основные моменты при программировании одинаковы в обоих случаях, поэтому выгода от использования регулярных выражений будет видна всем.
Изучение регулярных выражений (regex) довольно сложный процесс, особенно для начинающих, но при правильном подходе, вы освоите чрезвычайно мощный и полезный инструмент.
Самым сложным этапом при обучении с нуля является понимание синтаксиса регулярных выражений. Чтобы не тратить время на написание своих собственных регулярных выражений, автор статьи собрал 30 различных примеров, которые чаще всего используются при работе над различными проектами.
Как известно, регулярные выражения не «привязаны» к какому-то определенному языку программирования, поэтому вы можете использовать приведенные ниже примеры выражений при разработке проектов на различных языках. Например, на JavaScript, PHP или Python.
Лучшее регулярное выражение для валидации email в web формах
Оговорка «на клиенте» сделана не просто так. Задача валидации на клиенте — подсказать пользователю, где он ошибся в написании email-а. Важно случайным образом не запретить пользователю с непредусмотренным емейлом воспользоваться формой. Учитывая то, какие варианты емейла могут быть (неожиданные домены, появляющиеся по пучку каждый месяц, ip адреса в качестве домена, и символы точки и симполы +, и другие неизвестные широкому обывателю вещи), напрашивается вывод, что лучшая валидация проверит емейл на наличие текста вида текст-собачка-текст-точка-текст.
Проверка надежности пароля
Код цвета в шестнадцатеричном формате
Шестнадцатеричные коды цветов используются при веб-разработке очень часто. Это регулярное выражение может быть поможет сравнить: совпадает ли какая-либо строка с шаблоном шестнадцатеричного кода.
Проверка адреса электронной почты
Одной из самых распространенных задач при разработке является проверка соответствия введенной пользователем строки формату адреса электронной почты. Существует множество различных вариантов выражений для решения этой задачи, автор этой статьи предлагает свой оригинальный вариант.
IP-адрес (v4)
Как e-mail может использоваться для идентификации посетителя, так IP-адрес является идентификатором конкретного компьютера в сети. Приведенное регулярное выражение проверяет соответствие строки формату IP-адреса v4.
IP-адрес (v6)
Вы также можете проверить строку на соответствие формату IP-адреса новой, шестой версии более продвинутым регулярным выражением.
Разделитель в больших числах
Традиционными разделителями в больших числах являются запятые, точки или другие знаки, повторяющиеся в числе через каждые 3 символа. Приведенный код регулярного выражения работает с любым числом и любым определенными вами символами для разделения трехзначных частей в больших числах: тысячах, миллионах и т.п.
Добавление протокола перед гиперссылкой
Независимо от того, с каким языком вы работаете: JavaScript, Ruby или PHP, это регулярное выражение может оказаться очень полезным. С его помощью проверяется любой URL-адрес на наличие в строке протокола, и если протокол отсутствует, указанный код добавляет его в начало строки.
«Вытягиваем» домен из URL-адреса.
Как известно, любой URL-адрес состоит из нескольких частей: вначале указывается протокол (HTTP или HTTPS), иногда за ним идет субдомен, а в завершении добавляется путь к странице. Вы можете использовать это выражение, чтобы вернуть только доменное имя, исключив все остальные части адреса.
Сортировка ключевых фраз по количеству слов
Это действительно полезные выражения для пользователей Google Analytics и инструмента для веб-мастеров. Ведь с помощью них можно отсортировать ключевые фразы, используемые посетителями при поиске по количеству слов, входящих в них.
Выражения могут проверять фразы, содержащие определенное количество слов (например, 5), а также фразы количество слов в которых более двух, трех и т.д. Одно из самых мощных выражений, используемое для сортировки данных аналитики.
Поиск валидной строки Base64 в PHP
Если вы являетесь PHP-разработчиком, то иногда вам может понадобиться найти объект, закодированный в формате Base64. Указанное выше выражение может использоваться для поиска закодированных строк в любом PHP-коде.
Проверка телефонного номера
Это регулярное выражение применяется для проверки любого номера телефона, прежде всего, американского формата телефонных номеров.
Проверка телефонных номеров может стать довольно сложной задачей, поэтому автор статьи рекомендует детально ознакомиться с различными вариантами решения на сайте stackoverflow.com
Для проверки российских телефонных номеров используйте следующее выражение:
Начальные и конечные пробелы
Используйте это регулярное выражение для того, чтобы избавиться от начальных и конечных пробелом в строке. Это не особо распространенная задача, но иногда это выражение может быть полезным. Например, при получении данных из БД или передачи строки скрипту в другой кодировке.
«Вытягиваем» HTML-код изображения
Если по какой-либо причине вам необходимо «вытянуть» HTML-код изображения прямо из кода страницы, это регулярное выражение станет для вас идеальным решением. Хотя оно может без проблем работать на стороне сервера, для фронтенд-разработчиков приоритетней будет использовать метод attr() библиотеки jQuery вместо указанного регулярного выражения.
Проверяем дату на соответствие формату DD/MM/YYYY
Проверять даты сложно, потому что они могут быть представлены в различных форматах, в том числе содержащих и числа, и текст.
В PHP имеется отличная функция date(), но она не всегда подходит, ведь в нее может быть передана необработанная строка. Поэтому для проверки указанного формата даты нужно использовать приведенное выше регулярное выражение.
Совпадение строки с адресом видеоролика на YouTube
На протяжении нескольких лет на Youtube не меняется структура URL-адресов. Youtube является самым популярным видео хостингом в Интернет, благодаря этому, видео с Youtube набирают наибольший трафик.
Если вам необходимо получить ID какого-либо видеоролика с Youtube, воспользуйтесь приведенным выше регулярным выражением. Это наилучшее выражение, подходящее для всех вариантов URL-адресов на этом видео-хостинге.
Проверка ISBN
Информация обо всех печатные изданиях, хранится в системе, известной как ISBN, которая состоит из 2 систем: ISBN-10 и ISBN-13. Неспециалисту очень сложно увидеть различия между этими системами. Однако, представленное выше регулярное выражение позволяет проверять соответствие кода ISBN сразу обоим системам: будь то ISBN-10 или ISBN-13. Код написан на PHP, поэтому это решение подходит исключительно для веб-разработчиков.
Проверка почтового индекса (Zip Code)
Автор этого регулярного выражения не только придумал его, но и еще нашел время его описать. Это выражение будет полезно вам, если вы проверяете совпадение строки со стандартным пятизначным индексом или его удлиненным вариантом, содержащим 9 знаков. Обращаем ваше внимание, что это выражение подходит только для проверки американских почтовых индексов. Для индексов других стран необходима настройка.
Для проверки российских почтовых индексов используйте следующее выражение:
Проверка правильности имени пользователя Twitter
Это небольшое регулярное выражение помогает найти имя пользователя Twitter внутри текста. Оно проверяет наличие имени в твитах по шаблону: @username.
Проверка номера кредитной карты
Вы можете ознакомиться с более полным списком кодов для детальной проверки карт. Список включает в себя такие системы как Visa, MasterCard, Discover и многие другие.
Поиск CSS-атрибутов
Ситуация, когда придется воспользоваться указанным регулярным выражением, может сложиться очень редко, но не факт что не сложится никогда
Этот код можно использовать когда будет необходимо «вытянуть» какое-либо CSS-правило из списка правил для какого-нибудь селектора.
Удаление комментариев в HTML
Если вам необходимо удалить все комментарии из блока HTML-кода, воспользуйтесь этим регулярным выражением. Чтобы получить желаемый результат, вы можете воспользоваться PHP-функцией preg_replace().
Проверка на соответствие ссылке на Facebook-аккаунт
Если вам необходимо узнать у посетителя вашего сайта адрес его странички в Facebook, попробуйте это регулярное выражение. Оно поможет вам проверить правильность указанного пользователем URL. Этот код отлично подходит для проверки ссылок в этой соцсети.
Проверка версии Internet Explorer
Несмотря на то, что Microsoft выпустил новый браузер Edge, многие пользователи до сих пор пользуются Internet Explorer. Веб-разработчикам часто приходится проверять версию этого браузера, чтобы учитывать особенности разных версий при работе над своими проектами.
Вы можете использовать это регулярное выражения в JavaScript-коде чтобы узнать какая версия IE (5-11) используется.
«Вытягиваем» цену из строки
Цена какого-либо товара может быть указана в различных форматах: в ней могут встречаться запятые, знаки после запятой и символы валюты.
Указанное выше регулярное выражение учитывает различные форматы отображения цены, с его помощью вы сможете «вытянуть» цену из любой символьной строки.
Разбираем заголовки в e-mail
С помощью этого небольшого выражения вы сможете разобрать заголовок e-mail сообщения, чтобы извлечь оттуда список адресатов. Выражение может быть использовано и в случае, если адресатов несколько.
Вместо регулярных выражений, для разбора заголовков e-mail вы можете воспользуйтесь библиотекой на PHP.
Соответствие имени файла определенному типу
Если в вашем приложении существует возможность загрузки файлов на сервер, это регулярное выражение может помочь вам проверить файлы перед тем как посетитель их загрузит.
С помощью этого кода можно получить расширение загружаемого файла и проверить присутствует ли оно в списке разрешенных к загрузке.
Соответствие строки формату URL
Регулярное выражение может проверять URL-адреса с указанием протоколов HTTP и HTTPS на предмет соответствия синтаксису доменов TLD.
Существует простой способ проверки с использованием JavaScript RegExp.
Добавление атрибута rel=”nofollow” в теге ссылки
Если вы много работаете с HTML-кодом, то вам захочется автоматизировать часто повторяющиеся действия. Регулярные выражения отлично подходят для решения этой задачи и сэкономят много вашего времени.
Используя приведенный код, например, совместно с PHP, вы сможете «вытянуть» код ссылок из блоков HTML-кода и добавить в каждую из них атрибут rel=”nofollow”.
Работа с media query
Вы можете разбивать строки содержащие медиа-запросы на части, состоящие из параметров и свойств. Указанное выражение может быть полезно для анализа стороннего CSS-кода. Используя его вы сможете, например, более подробно понять как устроен чужой код.
Синтаксис поисковых выражений Google
Вы можете составить свои собственные регулярные выражения для манипулирования результатами поиска по вашим запросам в поисковой системе Google. Например, знак плюс (+) добавляет дополнительные ключевые слова, а минус (-) означает, что слова должны быть проигнорированы и удалены из результатов.
Это довольно сложное выражение, но если разобраться как использовать его должным образом, приведенный код может стать основой для построения собственного алгоритма поиска.
Заключение
Путь к пониманию регулярных выражений довольно труден, однако, если вы будете его придерживаться, результат вас не разочарует. Попробуйте использовать приведенные в статье регулярные выражения при создании своего веб-приложения. Таким образом вы сможете понять как работают выражения из примеров, приведенных в статье, в реальности.
Шаблон для номера телефона
Всем привет. У меня такой вопрос кто-нибудь знает RegExp шаблон для номера телефона (СНГ)? Желательно чтобы умел разбирать:
Буду рад любой помощи.
P.S. Пишу на JavaScript
3 ответа 3
Решил сделать так. Сначало отсеить все нецифровые значения номера, исключения сделать только для всяких скобо, дефисов, пробелов и т.д.
Потом привести их все к нормальному виду. Например вот так:
Ориентировано на российские мобильные + городские с кодом из 3 цифр (например, Москва). Пропускает:
Пользуюсь давно вот этой регуляркой и очень рад:
Всё ещё ищете ответ? Посмотрите другие вопросы с метками регулярные-выражения javascript или задайте свой вопрос.
Похожие
Подписаться на ленту
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.9.17.40238
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.