JSFiddle - React, Tailwind, and code Playground

by ivanovsuper

HTML

<input type="text" id="str" value="Хэшкод"/>
<input type="text" id="resstr"/>

JavaScript

var kv = [
    ["А", "Б", "В", "Г", "Д", "Е"],
    ["Ё", "Ж", "З", "И", "Й", "К"],
    ["Л", "М", "Н", "О", "П", "Р"],
    ["С", "Т", "У", "Ф", "Х", "Ц"],
    ["Ч", "Ш", "Щ", "Ъ", "Ы", "Ь"],
    ["Э", "Ю", "Я", ",", ".", "-"]
    ];

function pol_encode(str) {
    var idx;
    var res = "";
    str = str.toUpperCase();
    for (var j = 0; j < str.length; j++) {
        for (var i = 0; i < kv.length; i++) {
            idx = kv[i].indexOf(str.charAt(j));
            if (idx >= 0) {
                res += " " + i + "" + idx;
                break;
            }
        }
    }
    return $.trim(res);
}

function  pol_decode (str) {
    var row, col;
    var res = "";
    var ar = str.split(" ");
    for (var j = 0; j < ar.length; j++) {
        if (ar[j].length == 2) {
            row = parseInt(ar[j].charAt(0));
            col = parseInt(ar[j].charAt(1));
            res += kv[row][col];
        }
    }
    return res;
}
$("#str").keyup(function() {
    $("#resstr").val( pol_encode ($("#str").val()));
});

$("#resstr").keyup(function() {
    $("#str").val(  pol_decode ($("#resstr").val()));
});

 $("#resstr").val( pol_encode ($("#str").val()));