Показать сообщение отдельно
  #16 (permalink)  
Старый 09.02.2017, 18:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Нормализация ФИО
psiklop,
вариант ...
function fiofix(str) {
    var f = /(ин|ина|ын|ына|ов|ова|ев|ева|ской|ская|цкой|их|ых|енко|ко|ук|юк|ский|ская|чный|чная)$/;
    var o = /(ич|вна|чна)$/;
    var i = /^(Марина|Ирина)$/;
    return str.trim().split(/\s+/)
        .map(function(s) {
            return s.toLowerCase().replace(/(^|\-)(\S)/g, function g(a, b, c) {
                return b + c.toUpperCase()
            });

        }).sort(function(a, b) {
            a = i.test(a) ? 1 : f.test(a) ? 0 : o.test(a) ? 2 : 1;
            b = i.test(b) ? 1 : f.test(b) ? 0 : o.test(b) ? 2 : 1;
            return a - b
        }).join(" ")
};

alert(fiofix(" сергеевна ИРИНА карпова  "));
alert(fiofix(" сергеевна ИРИНА карпова-карпенко  "));

Последний раз редактировалось рони, 09.02.2017 в 23:26.
Ответить с цитированием