Транслитерация с русского на английский
Транслитерация текста на русском языке с кириллицы на латиницу с помощью JavaScript. Три варианта:
- Пары символов хранятся в JSON-объекте
- Пары символов хранятся в массиве
- Символы заменяются один за другим с помощью replace()
1. Символы в JSON-объекте
Транслитерация фразы «Транслитерация с русского на английский с помощью JavaScript #1»
HTML код:
<div class="example"></div>
JavaScript код:
<script>
var text = 'Транслитерация с русского на английский с помощью JavaScript #1';
var result = '';
var characters = {'а':'a', 'б':'b', 'в':'v', 'г':'g', 'д':'d', 'е':'e', 'ё':'yo', 'ж':'zh', 'з':'z', 'и':'i', 'й':'y', 'к':'k', 'л':'l', 'м':'m', 'н':'n', 'о':'o', 'п':'p', 'р':'r', 'с':'s', 'т':'t', 'у':'u', 'ф':'f', 'х':'h', 'ц':'c', 'ч':'ch', 'ш':'sh', 'щ':'shch', 'ь':'', 'ы':'y', 'ъ':'', 'э':'e', 'ю':'yu', 'я':'ya', 'А':'A', 'Б':'B', 'В':'V', 'Г':'G', 'Д':'D', 'Е':'E', 'Ё':'Yo', 'Ж':'Zh', 'З':'Z', 'И':'I', 'Й':'Y', 'К':'K', 'Л':'L', 'М':'M', 'Н':'N', 'О':'O', 'П':'P', 'Р':'R', 'С':'S', 'Т':'T', 'У':'U', 'Ф':'F', 'Х':'H', 'Ц':'C', 'Ч':'Ch', 'Ш':'Sh', 'Щ':'Shch', 'Ь':'', 'Ы':'Y', 'Ъ':'', 'Э':'E', 'Ю':'Yu', 'Я':'Ya'};
for ( var i = 0; i < text.length; i++ ) {
if ( characters[ text[i] ] == undefined ){
result += text[i];
} else {
result += characters[ text[i] ];
}
};
// Printing the resulting text
document.querySelector('.example').textContent = result;
</script>
2. Символы в массиве
Транслитерация фразы «Транслитерация с русского на английский с помощью JavaScript #2»
HTML код:
<div class="example example2"></div>
JavaScript код:
<script>
var text = 'Транслитерация с русского на английский с помощью JavaScript #2';
var result2 = '';
var chars = [];
chars['А']='A'; chars['Б']='B'; chars['В']='V'; chars['Г']='G'; chars['Д']='D'; chars['Е']='E'; chars['Ё']='YO'; chars['Ж']='ZH'; chars['З']='Z'; chars['И']='I'; chars['Й']='Y'; chars['К']='K'; chars['Л']='L'; chars['М']='M'; chars['Н']='N'; chars['О']='O'; chars['П']='P'; chars['Р']='R'; chars['С']='S'; chars['Т']='T'; chars['У']='U'; chars['Ф']='F'; chars['Х']='H'; chars['Ц']='C'; chars['Ч']='CH'; chars['Ш']='SH'; chars['Щ']='SHCH'; chars['Ь']=''; chars['Ы']='Y'; chars['Ъ']=''; chars['Э']='E'; chars['Ю']='YU'; chars['Я']='YA'; chars['а']='a'; chars['б']='b'; chars['в']='v'; chars['г']='g'; chars['д']='d'; chars['е']='e'; chars['ё']='yo'; chars['ж']='zh'; chars['з']='z'; chars['и']='i'; chars['й']='y'; chars['к']='k'; chars['л']='l'; chars['м']='m'; chars['н']='n'; chars['о']='o'; chars['п']='p'; chars['р']='r'; chars['с']='s'; chars['т']='t'; chars['у']='u'; chars['ф']='f'; chars['х']='h'; chars['ц']='c'; chars['ч']='ch'; chars['ш']='sh'; chars['щ']='shch'; chars['ь']=''; chars['ы']='i'; chars['ъ']=''; chars['э']='e'; chars['ю']='yu'; chars['я']='ya';
for ( var i = 0; i < text.length; ++i ) {
if ( chars[ text[i] ] == undefined ){
result2 += text[i];
} else {
result2 += chars[ text[i] ];
}
}
// Printing the resulting text
document.querySelector('.example2').textContent = result2;
</script>
3. Замена символов с помощью replace()
Транслитерация фразы «Транслитерация с русского на английский с помощью JavaScript #3»
HTML код:
<div class="example example3"></div>
JavaScript код:
<script>
var text = 'Транслитерация с русского на английский с помощью JavaScript #3';
text = text.replace(/\u0410/g, 'А');
text = text.replace(/\u0411/g, 'B');
text = text.replace(/\u0412/g, 'V');
text = text.replace(/\u0413/g, 'G');
text = text.replace(/\u0414/g, 'D');
text = text.replace(/\u0415/g, 'E');
text = text.replace(/\u0401/g, 'Yo');
text = text.replace(/\u0416/g, 'Zh');
text = text.replace(/\u0417/g, 'Z');
text = text.replace(/\u0418/g, 'I');
text = text.replace(/\u0419/g, 'Y');
text = text.replace(/\u041A/g, 'K');
text = text.replace(/\u041B/g, 'L');
text = text.replace(/\u041C/g, 'M');
text = text.replace(/\u041D/g, 'N');
text = text.replace(/\u041E/g, 'O');
text = text.replace(/\u041F/g, 'P');
text = text.replace(/\u0420/g, 'R');
text = text.replace(/\u0421/g, 'S');
text = text.replace(/\u0422/g, 'T');
text = text.replace(/\u0423/g, 'U');
text = text.replace(/\u0424/g, 'F');
text = text.replace(/\u0425/g, 'H');
text = text.replace(/\u0426/g, 'C');
text = text.replace(/\u0427/g, 'Ch');
text = text.replace(/\u0428/g, 'Sh');
text = text.replace(/\u0429/g, 'Shch');
text = text.replace(/\u042A/g, '');
text = text.replace(/\u042B/g, 'Y');
text = text.replace(/\u042C/g, '');
text = text.replace(/\u042D/g, 'E');
text = text.replace(/\u042E/g, 'Yu');
text = text.replace(/\u042F/g, 'Ya');
text = text.replace(/\u0430/g, 'a');
text = text.replace(/\u0431/g, 'b');
text = text.replace(/\u0432/g, 'v');
text = text.replace(/\u0433/g, 'g');
text = text.replace(/\u0434/g, 'd');
text = text.replace(/\u0435/g, 'e');
text = text.replace(/\u0451/g, 'yo');
text = text.replace(/\u0436/g, 'zh');
text = text.replace(/\u0437/g, 'z');
text = text.replace(/\u0438/g, 'i');
text = text.replace(/\u0439/g, 'y');
text = text.replace(/\u043A/g, 'k');
text = text.replace(/\u043B/g, 'l');
text = text.replace(/\u043C/g, 'm');
text = text.replace(/\u043D/g, 'n');
text = text.replace(/\u043E/g, 'o');
text = text.replace(/\u043F/g, 'p');
text = text.replace(/\u0440/g, 'r');
text = text.replace(/\u0441/g, 's');
text = text.replace(/\u0442/g, 't');
text = text.replace(/\u0443/g, 'u');
text = text.replace(/\u0444/g, 'f');
text = text.replace(/\u0445/g, 'h');
text = text.replace(/\u0446/g, 'c');
text = text.replace(/\u0447/g, 'ch');
text = text.replace(/\u0448/g, 'sh');
text = text.replace(/\u0449/g, 'shch');
text = text.replace(/\u044A/g, '');
text = text.replace(/\u044B/g, 'y');
text = text.replace(/\u044C/g, '');
text = text.replace(/\u044D/g, 'e');
text = text.replace(/\u044E/g, 'yu');
text = text.replace(/\u044F/g, 'ya');
// Printing the resulting string
document.querySelector('.example3').textContent = text;
</script>
Поддержка в браузерах
- Windows: Google Chrome 3.0+, Firefox 3.5+, Edge 12.0+, Internet Explorer 8.0+, Opera 10.5+, Safari 4.0+
- Android: Samsung Internet 1.0+, Chrome 18.0+, Firefox 4.0+, Opera 11.0+
- iOS: Safari 4.0+
Теги: JavaScript
- Опубликовано: 5 Ноября, 2023
- Последнее редактирование: 6 Ноября, 2023