Вопрос по рег. выражению

  • Автор темы Автор темы Focus
  • Дата начала Дата начала

Focus

Новичок
Вопрос по рег. выражению

PHP:
if(!eregi('[a-zA-Z0-9_\.\-]{5,20}', $value))  
   	{ 		echo "Error"; 		}

Почему если ввожу больше 20 символов то не выдает сообщение об ошибке? Или например ввожу кавычку - тоже не выводится сообщение, хотя должно по-идее
 
> Почему если ввожу больше 20 символов то не выдает сообщение об ошибке?

потому, что написан бред

if (preg_match("!^[a-z\d_.-]{5,20}$!is", ..
 
Сделал так
PHP:
preg_match("!^[a-zA-Zа-яА-Я\d\s]{1,20}$!is", $value, $matches);
	if(count($matches)==0)
    	{  echo "ERROR";  }
почему если вводишь слово на русском, то выдает что ошибка
 
Подскажите а как тогда описать такого вида строку: от 1 до 20 символов. Причем символ - любая латинская или кириллическая буква, число или символ пробела
 
Сегодня день добрых дел?
http://phpclub.ru/detail/article/simple_regular
 
Сверху