@khomaldi
разбираюсь потихоньку

Как составить рег. выражение для имени?

Здравствуйте. Я плохо разбираюсь в регулярных выражениях и мне нужна помощь.
Нужно условие: первая буква только заглавная, возможность использовать "-" для двойных имён, первая буква второго имени без учёта регистра, нельзя использовать пробелы.

Верно:
1. "Анна"
2. "Анна-Мария"
3. "Анна-мария"

Ошибка:
1. "анна"
2. "аНна"
3. "АННА"
4. " Анна"
5. "Анна "

Заранее спасибо!
  • Вопрос задан
  • 95 просмотров
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
/[А-ЯЁ][а-яё]*(?:-[А-ЯЁа-яё]+)?/
Но вообще, делать такую проверку - неправильно.
https://habr.com/post/431866/
Ответ написан
Комментировать
0xD34F
@0xD34F Куратор тега JavaScript
const reg = /^[А-ЯЁ][а-яё]*(-[А-ЯЁа-яё][а-яё]*)?$/;

// ok
console.log([
  'Анна',
  'Анна-Мария',
  'Анна-мария',
].map(n => reg.test(n)));

// не ok
console.log([
  'анна',
  'аНна',
  'АННА',
  ' Анна',
  'Анна ',
].map(n => reg.test(n)));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы