jQuery. Автозамена кириллических сиволов на латинские

Рейтинг: 0Ответов: 1Опубликовано: 08.04.2015

В одном из проектов нужно было сделать автоматическую замену кириллических символов на латинские. Как это реализовать на jQuery?

Ответы

▲ 1

Вот решение попроще:

function translit(s) {
    var map = {
        'а': 'a',
        'б': 'b',
        'в': 'v',
        'г': 'g',
        'д': 'd',
        'е': 'e',
        'ё': 'yo',
        'ж': 'zh',
        'з': 'z',
        'и': 'i',
        'й': 'y',
        'к': 'k',
        'л': 'l',
        'м': 'm',
        'н': 'n',
        'о': 'o',
        'п': 'p',
        'р': 'r',
        'с': 's',
        'т': 't',
        'у': 'u',
        'ф': 'f',
        'х': 'kh',
        'ц': 'c',
        'ч': 'ch',
        'ш': 'sh',
        'щ': 'shch',
        'ы': 'i',
        'э': 'e',
        'ю': 'yu',
        'я': 'ya',
        'ь': "'"
    };

    return s.replace(new RegExp(Object.keys(map).join('|'), 'g'), function(c) {
        return map[c];
    });
}

console.log( translit('текст на русском языке') );

ДЕМО для автозамены с учетом регистра: http://jsfiddle.net/wtyyLcgo/.