+
Дата: 07.07.2006 13:26:51
Можно ли с помощью регов проверять данные, приходящие из форм, на область допустимых значений? Если да, то покажите пожалуйста простой пример. )
Допустим по типу данные могут разделяться на целые числа, числа с плавающей точкой, строки, даты, булев тип и т.п.
Например, надо ограничивать область для чисел от 0 до 100, для строк 'aaa-kkk' (т.е. все возможные комбинации aaa, aab, aac, .... aba, abb, .... kkj, kkj), даты только в периоде от 2000 до 2010.
Надеюсь идея понятна. К сожалению, пока у меня идей 0. Хочется, чтобы можно было проверять одним паттерном и допустимые символы, и сами значения.
Пчеловод
Дата: 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];
DocAl
Дата: 07.07.2006 17:39:46
Вам шашечки, или ехать? Регэксп, вообще, довольно ресурсоёмкая штука, сложный шаблон, скорей всего, будет работать дольше, чем простой и проверка значений после. Для строк шаблон элементарный, его вполне можно использовать, для чисел же, т.к. они для регулярного выражения те же строки -- это сложнее