Для получения полного доступа
зарегистрируйтесь

Регулярное выражение для проверки ФИО


Регулярное выражение для проверки ФИО.

Пример валидный имен

  • Петров Петр Петрович
  • Петров-Черный Петр Петрович
  • И Иван Иванович
  • Ли Лу Янг
  • Dwain Simmons
  • Dwain-Branden Simmons
  • Салим-оглы Мамед
  • Салим-кызы Лейла

Не проходит валидацию

  • фамильные приставки (фон, цу, ибн-, абу-)

Исправлено

  • фамилии из одной буквы (И Иван Иванович)
  • тюрские отчества с постфиксными -оглы/кызы
/^([А-ЯA-Z]|[А-ЯA-Z][\x27а-яa-z]{1,}|[А-ЯA-Z][\x27а-яa-z]{1,}\-([А-ЯA-Z][\x27а-яa-z]{1,}|(оглы)|(кызы)))\040[А-ЯA-Z][\x27а-яa-z]{1,}(\040[А-ЯA-Z][\x27а-яa-z]{1,})?$/

Реализация от пользователя Kosuha606
/^[А-ЯA-Z][а-яa-zА-ЯA-Z\-]{0,}\s[А-ЯA-Z][а-яa-zА-ЯA-Z\-]{1,}(\s[А-ЯA-Z][а-яa-zА-ЯA-Z\-]{1,})?$/

function test (value){
    var regExp = /^([А-ЯA-Z]|[А-ЯA-Z][\x27а-яa-z]{1,}|[А-ЯA-Z][\x27а-яa-z]{1,}\-([А-ЯA-Z][\x27а-яa-z]{1,}|(оглы)|(кызы)))\040[А-ЯA-Z][\x27а-яa-z]{1,}(\040[А-ЯA-Z][\x27а-яa-z]{1,})?$/
    return regExp.test(value)
}

Пример использования:

test("Иванов Иван Иванович"); //true
test("Ли Лу Янг"); //true
test("Dwain Simmons"); //true
test("Dwain-Branden Simmons"); //true
test("И Иван Иванович"); //true
test("Салим-оглы Мамед"); //true
test("Салим-кызы Лейла"); //true

Чтобы увидеть комментарии, нужно быть участником сообщества

Регистрация