Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Регулярные выражения PHP

Ден Але Ученик (60), на голосовании 2 года назад
Всем привет!
Имеется такой вот код: preg_match("/^[а-я А-Я]{2,50}+$/u", $_POST['lastname'])
который разрешает только русские символы от 2 до 5 (точки, запятые и т д не пропускает), как сделать так, что бы пробелы были запрещены?
Дополнен 2 года назад
Решил вопрос)
Вот так надо: preg_match("/^[а-яА-Я] { 2,50 } +$/u", $_POST['lastname'])
Голосование за лучший ответ
Metotron Искусственный Интеллект (114907) 2 года назад
Плюс после фигурных скобок выглядит странно. Если его убрать, то, видимо, будет то, что ты хочешь.
А почему ты решил, что не бывает фамилии из одной буквы? Какой-нибудь Ким Ю поспорил бы.
Надеюсь, ты не считаешь, что у всех людей на Земле есть фамилия?
И почему ограничение в 50 символов?
E K Мудрец (13155) 2 года назад
Вот этот инструмент может помочь быстрее в понимании регекспов:
https://regex101.com/
там наглядно можно проверять как работает то, что получается
просто овощ Гуру (2882) 2 года назад
просто убрать пробелы?

/^[а-яА-Я] {2,50}$/u

плюс не нужен, ты уже вместо этого используешь диапазон от 2 до 50 символов. плюс означает от одного и до сколько угодно. лишние пробелы тоже не нужны, это стандарт

// upd: понял, это конченый ресурс так форматирует
Похожие вопросы