Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Регулярное выражение: десятичное или целое число
 
 автор: antf   (07.06.2005 в 22:00)   письмо автору
 
 

Здравствуйте, у меня есть поле формы. Оно используется для ввода чисел формата 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;
?>


Нельзя ли решить проблемы более элегантно, использовав одно регулярное выражение для целых и десятичных чисел?
Заранее спасибо!

   
 
 автор: cheops   (08.06.2005 в 01:43)   письмо автору
 
   для: antf   (07.06.2005 в 22:00)
 

Возможно вам подойдёт выражение вида
<?if(!preg_match("/^[0-9]{1,10}(\.[0-9]{0,2})?$/"$rate))?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования