Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: проверка с помощью регулярных выражений [2]
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
alnik-75
Ну исходя из темы и ваших запросов, то использование is_integer будет более адекватным, нежели is_numeric
//Добавление к вышеуказанному коменту AlexAnder
Если $_POST-ом принимаете данные, тогда перед проверкой нужно будет написать $num = intval($_POST['num']);
А если в общем, то можно и регулярки и мой вариант, оба будут работать. Например я бы не стал делать это регулярками. Тоесть принцип такой: держимся как можно дальше от регулярок и используем другие функции которые позволяют решить задачу.
Если вариант безвыходный и вам нужен конкретный шаблон, который в PHP могут задать только регулярные выражения, то остается их использовать... Как например случай с email в прошлый раз, пример регулярки, которой я с вами поделился.
А это тоже валидный? ) Помоему нет... но фильтрвар его охотно принимает как валидный...
Но опять же, я имел ввиду то, что использование регулярнок как по мне - строго по назначению... Тоесть если можно обойтись, то обходимся. Пусть это будет не e-mail, а что нибудь другое.. Считаю, что если можно обойтись без них, то нужно обходиться... Как в данном случае например
Покинул форум
Сообщений всего: 338
Дата рег-ции: Сент. 2012 Откуда: Гродно, Беларусь
Помог: 0 раз(а)
Teddy!
Вот цитата из описания функции is_int, псевдонимом которой является is_integer()
is_int
(PHP 3, PHP 4, PHP 5)
is_int - определяет, является ли переменная integer.
Описание
bool is_int (mixed var)
Возвращает TRUE, если var является integer, FALSE - в ином случае.
Примечание: чтобы проверить, является ли переменная числом или числовой строкой (такой как ввод формы, который всегда является строкой), вы обязаны использовать is_numeric().
teddy
Отправлено: 13 Июля, 2013 - 23:54:27
Участник
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
alnik-75
Ну, раз мануал говорит, тогда вперед ) но тут скользкий момент. Мой пример был с переменной, при приеме данных $_POST-ом, если использовать данный пример с помощью is_integer, прежде необходимо сделать: $num = intval($_POST['num']); и все будет работать.
Я это чуть позже дописал, см выше.
alnik-75
Отправлено: 13 Июля, 2013 - 23:59:33
Посетитель
Покинул форум
Сообщений всего: 338
Дата рег-ции: Сент. 2012 Откуда: Гродно, Беларусь
Помог: 0 раз(а)
просто я хочу разобраться)))))))) я не за циклился на этот нумерике. И никаких претензий к is_integer не имею. Мне просто хочется знать, что при приеме пост-данных нужно применять:
is_numeric() бех intval или is_integer с ним. Какая проверка в данном случае будет более корректной? У меня такое ощущение, что без разницы))))))
Хочется узнать это раз и навсегда)))))
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
alnik-75
Ну тогда is_numeric, если $_POST-ом принимаете. Так как $_POST всегда возвращает строковый тип, даже если вы ввели число
alnik-75
Отправлено: 14 Июля, 2013 - 00:07:10
Посетитель
Покинул форум
Сообщений всего: 338
Дата рег-ции: Сент. 2012 Откуда: Гродно, Беларусь
Помог: 0 раз(а)
teddy пишет:
alnik-75
Ну тогда is_numeric, если $_POST-ом принимаете. Так как $_POST всегда возвращает строковый тип, даже если вы ввели число
Этот совет не из-за того, что я к нему все время клонил?
esterio
Отправлено: 14 Июля, 2013 - 03:40:46
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
teddy
ну и зачем ети сложности если одна строка из регулярок или фильтров решает ету задачу на ура, а тут извращатся ещо нужно. Ну и во-вторых отличный шанс потреноватся на регулярках. Или по Вашему их вовсе не стоит учить? Я с етим вкорне не согласен, причем ТС имеет понятие что ето такое и как оно виглядит. А там практика, практика и еще раз практика.
LIME
Отправлено: 14 Июля, 2013 - 05:31:38
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.