(PHP) Как с помощью регулярных выражений проверить область допустимых значений?

+
Дата: 07.07.2006 13:26:51
Можно ли с помощью регов проверять данные, приходящие из форм, на область допустимых значений? Если да, то покажите пожалуйста простой пример. )

Допустим по типу данные могут разделяться на целые числа, числа с плавающей точкой, строки, даты, булев тип и т.п.

Например, надо ограничивать область для чисел от 0 до 100, для строк 'aaa-kkk' (т.е. все возможные комбинации aaa, aab, aac, .... aba, abb, .... kkj, kkj), даты только в периоде от 2000 до 2010.

Надеюсь идея понятна. К сожалению, пока у меня идей 0. Хочется, чтобы можно было проверять одним паттерном и допустимые символы, и сами значения.
Пчеловод
Дата: 07.07.2006 13:36:42
если обойтись без философии, то ВОТ ТАК
+
Дата: 07.07.2006 14:39:45
Пчеловод, Если да, то покажите пожалуйста простой пример )
Пчеловод
Дата: 07.07.2006 16:12:33
даты с 2000 по 2010:
исходные переменные - $date_from и $date_to
$date_from = intval($date_from);
$date_to = intval($date_to);
if ($date_from>=2000 && $date_from<=2010 &&
    $date_to>=2000 && $date_to<=2010 &&
    $date_from<=$date_to)
{
    echo "Дата в порядке!";
} else {
    echo "Даты заданы НЕ верно!";
}
это даже без использования регекспов.
для строк 'aaa-kkk':
preg_match("/^([a-k]{3})/", $your_string, $match);
echo $match[1];
+
Дата: 07.07.2006 17:31:08
Для тех, кто в танке.

С помощью регулярных выражений!

А условия if и первоклассник может написать :)
DocAl
Дата: 07.07.2006 17:39:46
Вам шашечки, или ехать? Регэксп, вообще, довольно ресурсоёмкая штука, сложный шаблон, скорей всего, будет работать дольше, чем простой и проверка значений после. Для строк шаблон элементарный, его вполне можно использовать, для чисел же, т.к. они для регулярного выражения те же строки -- это сложнее
Пчеловод
Дата: 07.07.2006 18:00:08
+
Для тех, кто в танке.

С помощью регулярных выражений!

А условия if и первоклассник может написать :)

Вот и пишите! флаг в руки...
+
Дата: 07.07.2006 18:01:50
DocAl, спасибо.