PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: пропустить только цифры или пустую строку
broshurkaplus
Отправлено: 27 Декабря, 2015 - 16:46:25
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


Помог: 2 раз(а)




пример:
PHP:
скопировать код в буфер обмена
  1. $id=filter_input(INPUT_POST, 'rednum', FILTER_VALIDATE_REGEXP,
  2.                 array('options'=>array('regexp'=>'/^[0-9]+$/')));

подскажите перлсовметимое регулярное выражение, которое пропускало бы только цифры и пустую строку.
спасибо
 
 Top
Мелкий Супермодератор
Отправлено: 27 Декабря, 2015 - 17:19:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 11840
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 606 раз(а)




/^[0-9]*$/


-----
PostgreSQL DBA
 
 Top
broshurkaplus
Отправлено: 27 Декабря, 2015 - 18:15:11
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


Помог: 2 раз(а)




вроде ставил квант. * - и обратился потому что не дает то чего мне надо...

PHP:
скопировать код в буфер обмена
  1. //отправляем:
  2. //'55'
  3. //'55aa'
  4. //''
  5.  
  6. [PHP]$id=filter_input(INPUT_POST, 'rednum', FILTER_VALIDATE_REGEXP,
  7.                 array('options'=>array('regexp'=>'/^[0-9]*$/')));
  8. if(!$id){
  9.             var_dump($id);
  10.             var_dump(false);
  11.         }
  12.         else{
  13.             var_dump($id);
  14.             var_dump(true);
  15.         }
  16. //получаем:
  17. //string(2) "55" bool(true)
  18. //bool(false) bool(false)
  19. //string(0) "" bool(false)    -  мне нужно чтобы тут (если пост rednum - пустая строка давало true
[/PHP]

?

(Отредактировано автором: 27 Декабря, 2015 - 18:15:37)

 
 Top
Мелкий Супермодератор
Отправлено: 27 Декабря, 2015 - 18:25:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 11840
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 606 раз(а)




Ну так и при чём тут регулярка?
Пустая строка при приведению к булеву типу даёт false.


-----
PostgreSQL DBA
 
 Top
broshurkaplus
Отправлено: 27 Декабря, 2015 - 18:36:31
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


Помог: 2 раз(а)




перечитал, спасибо
возможно ли полуить true когда приходит пустая строка?
 
 Top
Sail
Отправлено: 28 Декабря, 2015 - 14:17:54
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




broshurkaplus пишет:
перечитал, спасибо
возможно ли полуить true когда приходит пустая строка?

PHP:
скопировать код в буфер обмена
  1. if($id === FALSE) // ну и дальше...

(Добавление)
И ещё:
Цитата:
FALSE, если фильтрация завершилась неудачей, или NULL, если переменная variable_name не определена. Если установлен флаг FILTER_NULL_ON_FAILURE, функция возвращает FALSE, если переменная не определена и NULL, если фильтрация завершилась неудачей.

Вот в зависимости от этих значений и анализируйте результат.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Регулярные выражения »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB