Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Нужна помощь с ограничением количества символов в regexp
Тогда пробел пропускает, но русские буквы если указать ... почему-то не пропускает
Так же кто знает как ограничить количество одинаковых символов подряд ?
К примеру надо, чтоб не более двух одинаковых ... тогда "аааа" = false ... "ааыаа" = true
И последний вопрос ... как ограничить, чтобы можно было вводить и латинские буквы и русские ... но только или те или те ... к примеру если первая буква латинская, то и все остальные тоже должны быть латинские.
----- Судя по ходу мыслей, вас постоянно преследуют глупости.
illy
Отправлено: 09 Октября, 2011 - 12:52:36
Участник
Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011 Откуда: от верблюда)
Помог: 28 раз(а)
латынь и русич проверка это надо два условия
if(preg_match('/[a-z]/i', $login) && preg_match('/[а-яё]/i', $login)) exit;
а чтобы проверить одинаковые символы
$login='55526723433';
for($n=0;$n!=strlen($login)-2;$n++){
if($login[$n]==$login[$n+1] && $login[$n]==$login[$n+2]){
echo 'есть повторение';
exit;
}
}
----- Всё гениальное - просто
И ещё проще, если ты - индиго
f111
Отправлено: 09 Октября, 2011 - 21:36:01
Новичок
Покинул форум
Сообщений всего: 53
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
illy ну и намудрил же ты
_________
1) "надо добавить возможность ставить пробел"
твой вариант работает, ^([\wа-яА-Я][\wа-яА-Я\d-])\s([\wа-яА-Я\d-][\wа-яА-Я])+$
"р- пп" - такой вариант пропускает
эта регулярка пропускает первый символ который может быть как на кириллице так и на латинице, верхнего и нижнего регистра, второй символ тоже обоих регистров на латинице и кириллице, а так же может быть цифрой или знаком тире, третий это пробел (хотя в твоей регулярке он не правильно указан, или правильно ...... если ты хотел сделать что бы пробел был один раз либо его не было, то надо использовать вопросительный знак - \s?), четвёртый аналогичен второму пятый аналогичен первому
вот только четвёртый и пятый могут повторяться более одного раза (но вместе, а не по отдельности), потому что в подшаблоне. (то есть 00фф не подойдёт, а 0ф0ф пропустит)
// Тут дальше идёт проверка ... пароль, почта и всё остальное ... потом запись в БД
}
Затем я добавил возможность ставить пробел ... допустим чуть-чуть не правильно ... но исправил потом )) ... и всё.
Затем в поле "Логин" пишу следующее: "qwe" в ответ "Неправильно указан логин !" ... если добавить ещё одну букву то уже логин становится правильным. Далее проверяю русские буквы ... опять же в поле "Логин" пишу: "выав ываа" в ответ "Неправильно указан логин !" ... и вот теперь я уже совсем не понимаю что не так в регулярке !?! )) (Добавление)
Мда ... забыл написать, что в последний раз подставлял уже твоё РВ ))
Вроде бы всё ) (Добавление)
Такие варианты тоже должны быть корректными:
Л1О2Г3И4Н
хх-Логин-хх
Ло2011гин
Проще написать так ... использовать можно буквы (кирилица и латиница) первый символ обязательно буква, можно использовать дефис но, чтоб он не был последним символом, можно использовать цифры, но только не с самого начала, можно использовать пробел, но только один раз или вообще не использовать.
----- Судя по ходу мыслей, вас постоянно преследуют глупости.
f111
Отправлено: 10 Октября, 2011 - 14:51:19
Новичок
Покинул форум
Сообщений всего: 53
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
Инсеин пишет:
можно использовать пробел, но только один раз или вообще не использовать.
спасибо за логины. пойду шаманить
/^(\w[\d\w-]+\s?[\d\w-]+|[А-яёЁ][\dА-яёЁ-]+\s?[\dА-яёЁ-]+)[^-]$/
этот вариант если вспомнить:
Инсеин пишет:
как ограничить, чтобы можно было вводить и латинские буквы и русские ... но только или те или те
/^[\wА-яёЁ][\d\wА-яёЁ-]+\s?[\d\wА-яёЁ-]+[^-]$/
если и того и другого
по поводу
Инсеин пишет:
ограничить количество одинаковых символов подряд
всё ещё думаю (Добавление)
наверно вариант illy будет идеален
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.