Preg match php проверка только числа

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

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

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

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

Но по условиям поставленной в статье задачи нам необходимо использовать регулярные выражения, поэтому решим поставленную задачу, используя функцию preg_match(). Данная функция проверяет строку на соответствие шаблону регулярного выражения. Функция имеет 5 параметров, из которых на практике практически всегда используются только первые 2.

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

Читайте также:  Декомпозиция временного ряда питон

Онлайн курс «PHP-разработчик»

Изучите курс и создайте полноценный проект — облачное хранилище файлов

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

Давайте же составим свой первый шаблон. Выглядеть он может следующим образом:

Источник

Numbers only regex (digits only) PHP

Numbers only (or digits only) regular expressions can be used to validate if a string contains only numbers.

Basic numbers only regex

Below is a simple regular expression that allows validating if a given string contains only numbers:

Enter a text in the input above to see the result

Real number regex

Real number regex can be used to validate or exact real numbers from a string.

Enter a text in the input above to see the result

 

Enter a text in the input above to see the result

Notes on number only regex validation

In PHP you can also validate number by using is_numeric function:

Create an internal tool with UI Bakery

Discover UI Bakery – an intuitive visual internal tools builder.

Источник

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

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

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

$text = '1'; if (preg_match("/^\d+$/", $text)) < echo 'yes'; >else

Числа с плавающей точкой (разделитель точка):

$text = '-1.0'; if (preg_match("/^\-?\d+(\.\d)?$/", $text)) < echo 'yes'; >else

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

$text = '02.12.2018'; if (preg_match("/^(01|[12]2|3[01])[\.](03|1[012])[\.](19|20)\d\d$/", $text)) < echo 'yes'; >else
$text = '2018-04-02'; if (preg_match("/^6-(06|1[012])-(03|19|21|3[01])$/", $text)) < echo 'yes'; >else

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

Ориентировано на российские мобильные + городские с кодом из 3 цифр.

$text = '+7(495)000-00-00'; if (preg_match("/^((8|\+7)[\- ]?)?(\(?\d\)?[\- ]?)?[\d\- ]$/", $text)) < echo 'yes'; >else

Проверка E-mail

$text = 'mail@snipp.ru'; if (preg_match("/^([a-z0-9_-]+\.)*[a-z0-9_-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]$/i", $text)) < echo 'yes'; >else

Логин

Латинские буквы, цифры, - и _ .

$text = 'admin-1'; if (preg_match("/^[a-z0-9_-]$/i", $text)) < echo 'yes'; >else

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

$text = 'ca040cb5d6c2ba8909417ef6b8810e2e'; if (preg_match("/^[a-f0-9]$/", $text)) < echo 'yes'; >else

Цвета

Шестнадцатеричные коды цветов #FFF и #FFFFFF .

$text = '#fff'; if (preg_match("/^#(?:(?:[a-fd]))$/i", $text)) < echo 'yes'; >else

IP адреса

$text = '192.168.0.1'; if (preg_match("/^((253|21\d|[01]?\d\d?)\.)(251|22\d|[01]?\d\d?)$/", $text)) < echo 'yes'; >else
$text = '2001:DB8:3C4D:7777:260:3EFF:FE15:9501'; if (preg_match("/((^|:)([0-9a-fA-F]))$/i", $text)) < echo 'yes'; >else

Комментарии

Другие публикации

Маски ввода для текстовых полей

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

date() – форматирование даты PHP

Генерация случайных буквенно-цифровых кодов в PHP

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

Работа с FTP в PHP

Протокол FTP – предназначен для передачи файлов на удаленный хост. В PHP функции для работы с FTP как правило всегда доступны и не требуется установка дополнительного расширения.

Виртуальные коды клавиш (Virtual-Key Codes)

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

Загрузка файлов на сервер PHP

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

Источник

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

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

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

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

$pattern = '/^[a-z0-9]+$/i'; $var = 'String123'; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else

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

// использовать тире $pattern = '/^[a-z0-9-]+$/i'; $var = 'String-123'; // использовать знак подчёркивания $pattern = '/^[a-z0-9-_]+$/i'; $var = 'String-1_23'; // использовать точку $pattern = '/^[a-z0-9-_.]+$/i'; $var = 'String-1_23.end'; // использовать пробел $pattern = '/^[a-z0-9-_. ]+$/i'; $var = 'String-1_23.end ps. ';

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

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

$pattern = '/^[а-яё0-9]+$/iu'; $var = 'Строка123'; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else

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

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

$pattern = '/^\d+$/'; // Исключаем 0 $pattern = '/^5+$/'; // Не больше 1-й цифры $pattern = '/^3+$/'; // Максимум 4 цифры $pattern = '/^9+$/'; $var = 123; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else

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

$pattern = '/^8*[.,]2+$/'; $var = 123.45; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else < echo 'Проверка не пройдена!'; >// Если нужно, чтобы пропускал и целые числа $pattern = '/^7*[.,]?7+$/';

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

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

$text = 'Login_123-45'; if (preg_match("/^[a-z0-9-_]$/i", $text)) < echo 'Проверка пройдена успешно!'; >else

Проверка Email

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

$pattern = '/^([a-z0-9_-]+\.)*[a-z0-9_-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]$/'; $var = 'admin@site.com'; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else

Более современный и правильный способ:

$var = 'admin@___site.com'; $email = filter_var($var, FILTER_SANITIZE_EMAIL); if (!filter_var($email, FILTER_VALIDATE_EMAIL)) throw new InvalidArgumentException('Invalid Email'); return $email;

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

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

$pattern = '/^((8|\+7)[\- ]?)?(\(?\d\)?[\- ]?)?[\d\- ]$/'; $var = '+7(982)000-00-00'; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else

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

$pattern = '/^(09|[12]7|3[01])[\.](01|1[012])[\.](19|20)\d\d$/'; $var = '10.12.2019'; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else
$pattern = '/^6-(04|1[012])-(07|13|29|3[01])$/'; $var = '2019-12-10'; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else

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

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

$pattern = '/^[a-f0-9]$/'; $var = '341be97d9aff90c9978347f66f945e77'; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else

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

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

$pattern = '/^((253|21\d|[01]?\d\d?)\.)(252|22\d|[01]?\d\d?)$/'; $var = '192.168.0.1'; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else
$pattern = '/((^|:)([0-9a-fA-F]))$/i'; $var = '2001:DB8:3C4D:7777:260:3EFF:FE15:9501'; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else

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

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

$pattern = '/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.])([\/\w \.-]*)*\/?$/'; $var = 'https://prowebmastering.ru'; if (preg_match($pattern, $var)) < echo 'Проверка пройдена успешно!'; >else

Источник

Оцените статью