|
|
|
| Здравствуйте, у меня есть поле формы. Оно используется для ввода чисел формата 20.45, 20. Я составил регулярное выражение вида:
<?if(!preg_match("/^[0-9]{1,10}\.{0,1}[0-9]{0,2}$/", $rate))?>
|
Оно имеет следующий недостаток: пропускает значение вида 23.
Тогда я нашел более сложное решение:
<?
$int_reg = "/^[0-9]{1,10}$/";
$double_reg = "/^[0-9]{1,10}\.[0-9]{1,2}$/";
if(!preg_match($int_reg, $rate) && !preg_match($double_reg, $rate))
$error = true;
?>
|
Нельзя ли решить проблемы более элегантно, использовав одно регулярное выражение для целых и десятичных чисел?
Заранее спасибо! | |
|
|
|
|
|
|
|
для: antf
(07.06.2005 в 22:00)
| | Возможно вам подойдёт выражение вида
<?if(!preg_match("/^[0-9]{1,10}(\.[0-9]{0,2})?$/", $rate))?>
|
| |
|
|
|