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

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

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

 

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

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

тема: Помогите составить рег-выражения
 
 автор: XaZzZi   (18.10.2009 в 14:51)   письмо автору
 
 

Нужно несколько регулярных рег выражений :
первое - все буквы и символ № (номер) и цыфры от 15 до 150 символов
второе - все буквы и цифры обеих алфавитов от 5 до 15 символов
третье - все буквы русского алфавита от 15 до 150 символов

[поправлено модератором]

  Ответить  
 
 автор: Trianon   (18.10.2009 в 15:19)   письмо автору
 
   для: XaZzZi   (18.10.2009 в 14:51)
 

^[0-9a-zA-Z№]{15,150}$
^[0-9a-zA-Zа-яА-ЯёЁ]{5,15}$
^[а-яА-ЯёЁ]{15,150}$

[поправлено модератором]

  Ответить  
 
 автор: XaZzZi   (18.10.2009 в 16:19)   письмо автору
 
   для: Trianon   (18.10.2009 в 15:19)
 

[поправлено модератором]

  Ответить  
 
 автор: XaZzZi   (18.10.2009 в 16:49)   письмо автору
 
   для: XaZzZi   (18.10.2009 в 16:19)
 

  $err='';
    if (!preg_match ("/^[0-9a-zA-Zа-яА-ЯёЁ№]{15:150}$/", $var1))
  {
    $err.='<br>Ошибка с переменной 1';
  }
   if (!preg_match ("/^[0-9a-zA-Zа-яА-ЯёЁ]{5:15}$/", $var2))
  {
    $err.='<br>Ошибка с переменной 2';
  }
   if (!preg_match ("/^[а-яА-ЯёЁ]{15:150}$/", $var3))
  {
    $err.='<br>Ошибка с переменной 3';
  }
  if($err==''){
      echo('<div class="info">all ok</div>');
  }
  else{
      echo('<div class="error">Произошла ошибка при заполнении формы : <small>'.$err.'</small></div>');
  }


Не работают рег-выражения , почему ? Скрипт постоянно информирует о том , что ошибки найдены во всех троих переменных .

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

  Ответить  
 
 автор: GeorgeIV   (19.10.2009 в 10:04)   письмо автору
 
   для: Trianon   (18.10.2009 в 15:19)
 

{15:150}
- а не через запятую надо
{15,150}
?

  Ответить  
 
 автор: Trianon   (19.10.2009 в 10:51)   письмо автору
 
   для: GeorgeIV   (19.10.2009 в 10:04)
 

Таки да. Чрез запятую. :)
Поправил.

интересно, а где ж я видел аналогичную семантику через двоеточие?...

  Ответить  
 
 автор: XaZzZi   (19.10.2009 в 17:37)   письмо автору
 
   для: Trianon   (19.10.2009 в 10:51)
 

Добавьте еще знак дефиса в первое и точки в третье рег-выражение.

[поправлено модератором]

  Ответить  
 
 автор: Trianon   (19.10.2009 в 18:09)   письмо автору
 
   для: XaZzZi   (19.10.2009 в 17:37)
 

^[-0-9a-zA-Z№]{15,150}$ 

^[\.а-яА-ЯёЁ]{15,150}$ 

  Ответить  
 
 автор: XaZzZi   (19.10.2009 в 18:13)   письмо автору
 
   для: Trianon   (19.10.2009 в 18:09)
 

Премного благодарен )

Я сам уже немного переделал по учебнику , добавил буквы украинского алфавита и пробелы .


Вот что вышло :

^[0-9a-zA-Zа-яА-ЯёЁіІ№\-\ ]{10,150}$
^[а-яА-ЯёЁіІїЇ\.\ ]{10,150}$/
^[0-9a-zA-Zа-яА-ЯёЁ]{5,15}$

  Ответить  
Rambler's Top100
вверх

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