Перевод текста в транслит на JavaScript

Перевод текста в транслит на JavaScript


Два варианта функции для преобразования символов русского алфавита в транслит.

1) Транслитерация текста на JS

function translit(word){ var answer = ''; var converter = {  'а': 'a',    'б': 'b',    'в': 'v',    'г': 'g',    'д': 'd',  'е': 'e',    'ё': 'e',    'ж': 'zh',   'з': 'z',    'и': 'i',  'й': 'y',    'к': 'k',    'л': 'l',    'м': 'm',    'н': 'n',  'о': 'o',    'п': 'p',    'р': 'r',    'с': 's',    'т': 't',  'у': 'u',    'ф': 'f',    'х': 'h',    'ц': 'c',    'ч': 'ch',  'ш': 'sh',   'щ': 'sch',  'ь': '',     'ы': 'y',    'ъ': '',  'э': 'e',    'ю': 'yu',   'я': 'ya',   'А': 'A',    'Б': 'B',    'В': 'V',    'Г': 'G',    'Д': 'D',  'Е': 'E',    'Ё': 'E',    'Ж': 'Zh',   'З': 'Z',    'И': 'I',  'Й': 'Y',    'К': 'K',    'Л': 'L',    'М': 'M',    'Н': 'N',  'О': 'O',    'П': 'P',    'Р': 'R',    'С': 'S',    'Т': 'T',  'У': 'U',    'Ф': 'F',    'Х': 'H',    'Ц': 'C',    'Ч': 'Ch',  'Ш': 'Sh',   'Щ': 'Sch',  'Ь': '',     'Ы': 'Y',    'Ъ': '',  'Э': 'E',    'Ю': 'Yu',   'Я': 'Ya' };  for (var i = 0; i < word.length; ++i ) {  if (converter[word[i]] == undefined){   answer += word[i];  } else {   answer += converter[word[i]];  } }  return answer;}

Применение функции:

$('#submit').click(function(){ $('#input').val(function(i, val){  return translit(val); });  return false;});

Пример работы:

Kak prinyato schitat, nezavisimye gosudarstva funkcionalno razneseny na nezavisimye elementy. Sleduet otmetit, chto semanticheskiy razbor vneshnih protivodeystviy, v svoem klassicheskom predstavlenii, dopuskaet vnedrenie raspredeleniya vnutrennih rezervov i resursov.

2)Транслитерация для ЧПУ на JS

Для URL принято использовать латинские буквы в нижнем регистре, пробелы и знаки препинания заменяются на тире.

function translit(word){ var converter = {  'а': 'a',    'б': 'b',    'в': 'v',    'г': 'g',    'д': 'd',  'е': 'e',    'ё': 'e',    'ж': 'zh',   'з': 'z',    'и': 'i',  'й': 'y',    'к': 'k',    'л': 'l',    'м': 'm',    'н': 'n',  'о': 'o',    'п': 'p',    'р': 'r',    'с': 's',    'т': 't',  'у': 'u',    'ф': 'f',    'х': 'h',    'ц': 'c',    'ч': 'ch',  'ш': 'sh',   'щ': 'sch',  'ь': '',     'ы': 'y',    'ъ': '',  'э': 'e',    'ю': 'yu',   'я': 'ya' };  word = word.toLowerCase();   var answer = ''; for (var i = 0; i < word.length; ++i ) {  if (converter[word[i]] == undefined){   answer += word[i];  } else {   answer += converter[word[i]];  } }  answer = answer.replace(/[^-0-9a-z]/g, '-'); answer = answer.replace(/[-]+/g, '-'); answer = answer.replace(/^\-|-$/g, '');  return answer;}

Пример работы функции:

kak-prinyato-schitat-nezavisimye-gosudarstva-funkcionalno-razneseny-na-nezavisimye-elementy-sleduet-otmetit-chto-semanticheskiy-razbor-vneshnih-protivodeystviy-v-svoem-klassicheskom-predstavlenii-dopuskaet-vnedrenie-raspredeleniya-vnutrennih-rezervov-i-resursov



Report Page