Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Создать регулярку


Автор: Guedda 27.5.2010, 15:02
Добрый день, уважаемые.
Есть загвоздка. Мне необходимо проверить правильность пришедшей строки регулярным выражением.
Строка должна состоять из цифр, разделенных запятыми без пробелов. В общем, вот примеры:
Цитата

1,2,6,24,146,1446,6464 - правильно
1, 2, 56,33 - не правильно
1.2.3.4.5 - не правильно
1,и,7 - не правильно

Как это реализовать? С регулярками вообще не дружу, получается белеберда какая-то...
Заранее благодарен за ответы.

Автор: patap 27.5.2010, 15:06
вроде по условию работает, а там если какие-то ньюансы будут - говори
Код

  if (preg_match('#^(\d{1,},)+\d{1,}$#', $str)) {
    echo 'yep!';
  } else {
     echo 'nope';
  }

Автор: Guedda 27.5.2010, 15:40
Сейчас не за компом, поэтому проверить не могу. А при единственной цифре будет yep или nope? если придет просто 266... Мне надо, чтобы было yep

Автор: patap 27.5.2010, 15:46
теперь будет
Код
preg_match('#^(\d{0,},?)+\d{1,}$#', $str)


1234 - да
123,12,1234 - да
121,23,123, - нет
123, 123,34 - нет
234.444.44 - нет

ну и т.д


Автор: Guedda 27.5.2010, 16:06
Спасибо! +++ Тебе!

Автор: SickFxck 28.5.2010, 19:16
Проще #^(\d+,)*\d+$#

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)