Я пытаюсь проверить имя, со следующими правилами:Regex имени проверка (сложная логика)
Case нечувствительных
только буквы, пустое пространство, акцентированные символы.
По крайней мере один пробел следует с некоторой буквой или буквами
John D
илиjohn Doe
илиJohn X Doe
не может иметь несколько пробелов сразу
John X Doe
Длина должна быть не менее 5 (с пространством) и в максимум 80
Я придумал (?i)^[a-z]+(?:[\ ]?[a-z]+)*$
https://regex101.com/r/bQ5oO9/1
Некоторые проблемы:
ли проверяющие только 'Имя'
Не проверки длины
не принимает акцентированных символов
об акцентах, проверьте [этот вопрос] (http://stackoverflow.com/questions/20690499/concrete-javascript-regex-for-accented-characters-diacritics) '[A-zÀ-ÿ]' очевидно соответствует всем буквам и буквам с акцентами. –
Я не понимаю, что вы подразумеваете под «Проверяет только« Имя »в моем тестировании, это также соответствует фамилии. –
Чтобы проверить длину, вы можете проверить длину своего матча. Если вы используете проверку атрибутов, вы можете добавить атрибут '[MinLength]' и атрибут '[MaxLength]'. –