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

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

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

 

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

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

тема: Проверка строки на вхождение повторяющихся одинаковых символов
 
 автор: alonecat   (22.08.2007 в 11:05)   письмо автору
 
 

Нужно проверить строку, что бы выдавалась ошибка в случае например
!!!!!!!!!!!!!!!!!str
str1111str
Те на вхождение любого символа повторящегося подряд более n раз.

   
 
 автор: kasmanaft   (22.08.2007 в 11:45)   письмо автору
 
   для: alonecat   (22.08.2007 в 11:05)
 

Что-то вроде

<?php
$n 
3;
if (
preg_match("#(.)\\1{".($n-1).",}#""str1111str"))
  echo 
"есть повторяющиеся";
?>

Не запускал, но вроде должно работать..

   
 
 автор: alonecat   (22.08.2007 в 16:26)   письмо автору
 
   для: kasmanaft   (22.08.2007 в 11:45)
 

Вроде как работает

<?
$str
='!!!nmn,,m_hkhjk ggyhjghcd99090..тт \"ehbfgkrj\..."';
if(!
preg_match('/^([0-9a-zа-я_.,-\s\!"\\\])+$/i'$str))     
{
 print 
$time."недопустимый символ";
}elseif(
preg_match("#(.)\\1{3,}#"$str))

print 
$time.$str." повторяющиеся символы.";
}
else
{
 print 
$time."ok";
}
?>

$str='!!!nmn,,m_hkhjk ggyhjghcd99090..тт \"ehbfgkrj\..."'; - пропускает, при дописывании повторных символов нет.

   
 
 автор: Faraon   (22.08.2007 в 16:31)   письмо автору
 
   для: alonecat   (22.08.2007 в 16:26)
 

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

   
 
 автор: alonecat   (22.08.2007 в 16:44)   письмо автору
 
   для: Faraon   (22.08.2007 в 16:31)
 

>Конечно пропустит, потому-что в данном выражении проверяется что повторяющиеся символы должны иметь последовательность друг за другом не менее трех

Именно этого я и хотел добится.

Задача в том, что бы пользователи не вводили названия своих объектов содержащий юникод, какие то редкие или нестандартные символы, или много повторяющихся символов.

   
Rambler's Top100
вверх

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