Проверка текстового поля на ввод цифр

249
12 июля 2018, 06:40

Как проверить текстовое поле, получаемое через post на цифры, и вывести ошибку?

Answer 1

Используйте функцию preg_match(). Она выполняет проверку входящей строки на соответствие регулярному выражению. Возвращает 1, если параметр pattern соответствует переданному параметру subject, 0 если нет, или FALSE в случае ошибки.

В Вашем случае:

if (!preg_match('/^\D+$/i', $subject)) {
    echo "Есть цифры";
} else {
    echo "Цифр нет";
}
Answer 2

Используйте php-функцию is_numeric() — она возвращает false в случае, если аргумент не число. Пример из хелпа:

<?php
$tests = array(
    "42", 
    1337, 
    "1e4", 
    "not numeric", 
    array(), 
    9.1
);
foreach ($tests as $element) {
    if (is_numeric($element)) {
        echo "'{$element}' - число", PHP_EOL;
    } else {
        echo "'{$element}' - НЕ число", PHP_EOL;
    }
}
?>

Результат

'42' - число
'1337' - число
'1e4' - число
'not numeric' - НЕ число
'Array' - НЕ число
'9.1' - число
READ ALSO
AES-256-CMC не шифрует

AES-256-CMC не шифрует

Не шифруется кусок html файла с картинкой (base64)Если без картинки, то кусок html шифруется

191
PHP. Запись в MySQL двух массивов

PHP. Запись в MySQL двух массивов

Жизнь злодейка заставила меня разбираться с MySQL В общем, надо составить базу данныхВ базе создается таблица с введённым из формы номером

211
Не заносятся координаты с бд в карту

Не заносятся координаты с бд в карту

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

205
Монитор для папки

Монитор для папки

Нужно словить событие удаления(создания) файлаПервая идея, написать прогу которая циклически проверяет файлы в директории

210