Вопрос такой:почему не выполняется условие на проверку длинны текста?
Если написать в поле одну букву,то выводит ошибку,а если две,то нет..
А В УСЛОВИИ ТО ТРИ!
Свернутый текст
$name = $_POST['name'];
preg_match("/[А-Яа-я]{3,}/", $name, $pmname);
IF($pmname == FALSE)
{
echo '<p>Имя должно состоять только из русских букв и не менее трех символов</p>'."\n";
}
Рабочий вариант:
Свернутый текст
$name = $_POST['name'];
preg_match("/^[а-яё]{3,}$/iu", $name, $pmname);
IF($pmname == FALSE)
{
echo '<p>Имя должно состоять только из русских букв и не менее трех символов</p>'."\n";
}
Спасибо всем,кто принимал участие!
Спустя 1 минута, 32 секунды (22.02.2012 - 21:21) nugle написал(а):
поменяй на
preg_match("/[а-яё]{3,}/u", $name, $pmname);
Спустя 10 секунд (22.02.2012 - 21:21) inpost написал(а):
для ютф - модификатор u,
не хватает буквы ё
проверка делается так:
не хватает буквы ё
проверка делается так:
if(preg_match())
echo '';
Спустя 40 секунд (22.02.2012 - 21:22) Winston написал(а):
А также заякорить нужно с помощью ^ $
Спустя 2 минуты, 31 секунда (22.02.2012 - 21:25) bob marley написал(а):
Winston
А убрал якорь:он из-за него просто тоже тупил.И если текст из маленьких букв и больших ошибку выдавал..Сейчас все сделаю и якорь уберу!
inpost
Хорошо!Сейчас сделаю т.к. вы говорит!Не знал если честно,что к utf8 надо модификатор..
А убрал якорь:он из-за него просто тоже тупил.И если текст из маленьких букв и больших ошибку выдавал..Сейчас все сделаю и якорь уберу!
inpost
Хорошо!Сейчас сделаю т.к. вы говорит!Не знал если честно,что к utf8 надо модификатор..
Спустя 1 минута, 32 секунды (22.02.2012 - 21:26) nugle написал(а):
i'm sorry!
сократил регулярку, а забыл модификатор i поставить. Итоговая регулярка примет вид
сократил регулярку, а забыл модификатор i поставить. Итоговая регулярка примет вид
preg_match("/^[а-яё]{3,}$/iu", $name, $pmname);
Спустя (22.02.2012 - 21:26) Winston написал(а):
Цитата (bob marley @ 22.02.2012 - 20:25) |
А убрал якорь:он из-за него просто тоже тупил |
Что значит тупит?
Без якорей регулярка будет работать не так как тебе нужно.
Спустя 2 минуты, 23 секунды (22.02.2012 - 21:29) bob marley написал(а):
Winston
Я имел ввиду:не верно выполняла условие тоже..Текст должен был быть либо полностью на заглавных буквах или полностью на строчных..
Сделал как вы говорили,все работает.Вот какая регулярка вышла у меня:
Всем плюсую в карму!
Я имел ввиду:не верно выполняла условие тоже..Текст должен был быть либо полностью на заглавных буквах или полностью на строчных..
Сделал как вы говорили,все работает.Вот какая регулярка вышла у меня:
preg_match("/^[А-ЯЁа-яё]{3,}$/u", $name, $pmname);
Всем плюсую в карму!
Спустя 1 минута (22.02.2012 - 21:30) nugle написал(а):
bob marley
убери верхний регистр и поставь i модификатор
убери верхний регистр и поставь i модификатор
Спустя 1 минута, 17 секунд (22.02.2012 - 21:31) bob marley написал(а):
Ок.Как раз хотел спросить на счет i..Все ок!
Спустя 4 минуты, 59 секунд (22.02.2012 - 21:36) Winston написал(а):
Цитата (bob marley @ 22.02.2012 - 20:29) |
либо полностью на заглавных буквах или полностью на строчных |
preg_match("/^(?:[А-ЯЁ]{3,}|[а-яё]{3,})$/u", $name, $pmname);
_____________
伊戈尔