Недавно я обнаружил, что метод, который я использовал для проверки пользовательского ввода, принимает некоторые значения, которые меня не особенно устраивают. Мне нужно, чтобы он принимал только натуральные числа (1
, 2
, 3
и т. д.) без нецифровых символов.
Мой метод выглядит так:
function is_natural($str)
{
return preg_match('/[^0-9]+$/', $str) ? false : $str;
}
Таким образом, он должен возвращать false, если находит что-то еще, кроме целого натурального числа. Проблема в том, что он принимает такие строки, как "2.3"
и даже "2.3,2.2"
.
filter_var
: stackoverflow.com/a/6563394/2165415 см. сообщение там - person T.Todua   schedule 01.03.2014