Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: регулярное выражение для фильтра цифровых значений через запятую
 
 автор: dron79   (29.08.2010 в 10:46)   письмо автору
 
 

необходимо проверит переменную на соответствие входной строки формату:
1
или
3,1
или
7,8,1
то есть на входе должны быть любое количество цифр разделенных между собой запятой.
Посоветуйте как лучше это реализовать может уже есть готовые рецепты?

  Ответить  
 
 автор: ^\d+(?>,\d+)*$   (29.08.2010 в 11:00)
 
   для: dron79   (29.08.2010 в 10:46)
 

наверное

  Ответить  
 
 автор: Trianon   (29.08.2010 в 11:59)   письмо автору
 
   для: ^\d+(?>,\d+)*$   (29.08.2010 в 11:00)
 

плюсики лишние

  Ответить  
 
 автор: dron79   (29.08.2010 в 14:53)   письмо автору
 
   для: Trianon   (29.08.2010 в 11:59)
 

/(\d+.)*\d+/
/^(\d+.)*\d+$/
!^\d+(.\d+)*$!
вот еще нашел какие реги, сейчас я их опробую.
Всем Большое спасибо!!!

  Ответить  
 
 автор: Trianon   (29.08.2010 в 17:07)   письмо автору
 
   для: dron79   (29.08.2010 в 14:53)
 

[поправлено модератором]

  Ответить  
 
 автор: dron79   (29.08.2010 в 17:19)   письмо автору
 
   для: Trianon   (29.08.2010 в 17:07)
 

Зря вы так:)
проверил все рег выражения. Всем большое спасибо,особенно неизвестному автору, его код то что нужно. вот что получилось.
                $reglim="|^[\d]+$|"; // для одиночных целых чисел
        $reg="|^\d+(?>,\d+)*$|";// для 1,2,6,56
        if(!preg_match($reglim,$limitstart)) exit("Не допустимый формат URL запроса");
        if(!preg_match($reg,$querySelectTeg)) exit("Не допустимый формат URL запроса");
        if(!preg_match($reg,$querySelectTeg2)) exit("Не допустимый формат URL запроса");

  Ответить  
 
 автор: Trianon   (29.08.2010 в 17:24)   письмо автору
 
   для: dron79   (29.08.2010 в 17:19)
 

ну почему же зря.

Вы хотя бы числа начали числами называть. А не цифрами. Уже существенный прогресс, я считаю.

В регулярках предыдущего Вашего урожая стояли точки вместо запятых.
Как эти точки работают, Вы представляете?
Что такой фольтр может пропустить?

А стоило бы.

  Ответить  
 
 автор: dron79   (29.08.2010 в 19:17)   письмо автору
 
   для: Trianon   (29.08.2010 в 17:24)
 

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

  Ответить  
 
 автор: Trianon   (29.08.2010 в 20:26)   письмо автору
 
   для: dron79   (29.08.2010 в 19:17)
 

лишнее, конечно, уж коль скоро решили таки разобраться в вопросе, а не просто слепо скопировать.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования