[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проверьте регулярку
Страницы: 1, 2
VeRTak
Проверьте регулярку, диапазон чисел от 1 до 31. Все верно написал, может есть более лучше варианты?


#(^[1-9]|1[0-9]|2[0-9]|3[0-1])$#
Arh
Wind
А почему просто не if ($int >= 1 && $int <= 30)
К тому же у тебя 111 число неполучиться

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
VeRTak
Arh Потому что мне нужна именно регулярка, мне 111 и не надо ph34r.gif
Arh
Wind
Цитата
мне 111 и не надо

Я к тому что в строке 111 найдётся число 11

(^[1-2][0-9]?|^30)$


_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Arh
(^[1-2][0-9]?|^30)$
типа (начинается на 1 или 2, после может быть от 0 до 9, то есть от 1 до 29), либо 30


_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
VeRTak
Arh Почему оно должно найтись? Не находится smile.gif В твоем случае не прокатит с числами 3,4,5,6,7,8,9,31
sergeiss
Цитата (Wind @ 13.03.2017 - 23:01)
Проверьте регулярку, диапазон чисел от 1 до 31.

Цитата (Arh @ 13.03.2017 - 23:06)
А почему просто не if ($int >= 1 && $int <= 30)

Мне кажется потому, что люди считают "регулярка - это круто!". И начинают усложнять на ровном месте. Чтобы обязательно регуляркой сделать.

Wind, я вот тоже не понял, зачем тебе регулярка для такой цели.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Arh
Wind
Почему оно должно найтись? Не находится  smile.gif

$text = '121';
preg_match('#(^[1-9]|1[0-9]|2[0-9]|3[0-1])$#', $text, $match);
if (!empty($match[0])) {
echo 'Нашлось ' . $match[0] . ' - проверка пройдена';
}


Wind
В твоем случае не прокатит с числами 3,4,5,6,7,8,9,31

А ну да. И я почему то прочитал у тебя до 30.

Тогда как то так

//$text = '99';
$text = '9';

preg_match('#(^[1-9]|^[1-2][0-9]?|^30|^31)$#', $text, $match);
if (!empty($match[0])) {
echo 'Нашлось ' . $match[0] . ' - проверка пройдена';
}


9 или 29 или 30 или 31

sergeiss
Цитата
Мне кажется потому, что люди считают "регулярка - это круто!".

Всякое бывает, может он правила для роутинга пишет, хз. Wind чё ты делаешь?)

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Kusss
скорее для календаря.
VeRTak
Валидатор от фреймворка требует регулярку для моей проверки
inpost
Wind
Для особых задач используй свой валидатор. Напиши код: if ($int >= 1 && $int <= 30) , вот и будет тебе валидатор!

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
inpost
Arh Wind
Усложнил ты регулярку. В начале 1 раз ^ ещё за пределами кармашка, в конце один раз $, всё. Далее центальную лишь часть. Чуть короче, но сути не меняет: [12][0-9]|3[01]


_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
VeRTak
inpost Спасибо Стас, я бы конечно сделал проще через условие, но еще не особо хорошо владею данным фреймворкам, там все друг на друге завязано начиная от форм. По поводу твоей регулярки я выше написал про числа 3,4,5,6,7,8,9.

P.S саму регулярку не проверял, но первый взгляд мне кажется, что это именно так
Arh
inpost
Цитата
[12][0-9]|3[01]

Wind
Цитата
я выше написал про числа 3,4,5,6,7,8,9.

3,4,5..., а ещё 1234 например валидацию пройдёт.
Цитата
Усложнил ты регулярку.

Можно наверное ещё подумать, но с ходу не вижу как можно проще.

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Invis1ble
Сначала придумают себе проблему, потом героически её решают biggrin.gif
Что это за валидатор такой, который только с регулярками может работать?

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.