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

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

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

 

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

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

тема: дописать рег. выражение
 
 автор: KEPZ   (15.07.2007 в 22:41)   письмо автору
 
 


function numeric($str)
    {
        return ( ! ereg("^[0-9\.]+$", $str)) ? FALSE : TRUE;
    }


с регулярными не дружу... прошу помощи.
эта функция проверяет на форме поле, куда пишется телефон... т.е. разрешает только цифры..
нужно дописать выражение, чтобы разрешалось ставить знак + в начале номера...

   
 
 автор: kasmanaft   (16.07.2007 в 08:48)   письмо автору
 
   для: KEPZ   (15.07.2007 в 22:41)
 

Попробуйте "^\+[0-9\.]+$". Если плюс не обязателен, можно после него поставить "?"
зыж у вас кроме цифр разрешено вводить еще и точки...

   
 
 автор: SHAman   (16.07.2007 в 12:39)   письмо автору
 
   для: kasmanaft   (16.07.2007 в 08:48)
 

а еще бекслеши. Точка обозначает любой символ везде в регэкспах, кроме как внутри [].
А у вас разрешены цифры, бекслеш и точка один или более раз. Вам нужно следующее:

/^\+?\d+$/


\d - это множество цифр.

   
 
 автор: kasmanaft   (16.07.2007 в 13:17)   письмо автору
 
   для: SHAman   (16.07.2007 в 12:39)
 

Нет, бекслеши тут не пройдут. Тут он также экранирует точку (хотя этого можно было и не делать)
____

Ух ты.. пройдут. А в preg_match не проходят

   
 
 автор: KEPZ   (17.07.2007 в 13:51)   письмо автору
 
   для: KEPZ   (15.07.2007 в 22:41)
 

спасибо всем ответившим! :)

   
Rambler's Top100
вверх

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