r45h
@r45h
Middle Frontend-developer (React)

Имя, фамилия и отчество. Отчество не обязательное. Как правильно написать такую регулярку?

Вот вариант, где все 3 слова обязательны:
/^[a-zA-Zа-яёА-ЯЁ]+\s[a-zA-Zа-яёА-ЯЁ]+\s[a-zA-Zа-яёА-ЯЁ]+$/


Например: Иванов Иван Иванович

Мне нужно, чтобы можно было написать либо как выше, либо: Иванов Иван. Я что-то туплю из-за пробела перед отчеством.
  • Вопрос задан
  • 405 просмотров
Решения вопроса 1
@d-sem
В самом простом случае можно просто последнюю часть в необязательную группу

/^[a-zA-Zа-яёА-ЯЁ]+\s[a-zA-Zа-яёА-ЯЁ]+(\s[a-zA-Zа-яёА-ЯЁ]+)?$/

Но на практике такая валидация приведет к проблемам с двойными фамилиями и другими фио отличными от наших стандартных:

это восточные практики имен
или же европейские с двойными, а то и тройными именами

ну и наши тоже могут отличаться - фамилия не обязательна и у человека может быть только имя
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы