在jquery上将俄语音译为英语

在jquery上将俄语音译为英语,jquery,transliteration,Jquery,Transliteration,我制作了一个Jquery脚本,用于将俄语字符翻译成英语。 但有两个问题我解决不了。随函附上守则: $( window ).load(function() { $("#username,.validate-username").keyup( function TRANS () { var translit = $("#username,.validate-username").val() .replace("ӓ", "a") .replace("ӓ̄",

我制作了一个Jquery脚本,用于将俄语字符翻译成英语。 但有两个问题我解决不了。随函附上守则:

$( window ).load(function() {

$("#username,.validate-username").keyup(

function TRANS () {
    var translit = $("#username,.validate-username").val()
        .replace("ӓ", "a")
        .replace("ӓ̄", "a")
        .replace("ӑ", "a")
        .replace("а̄", "a")
        .replace("ӕ", "ae")
        .replace("а́", "a")
        .replace("а̊", "a")
        .replace("ә", "a")
        .replace("ӛ", "a")
        .replace("я", "a")
        .replace("ѫ", "a")
        .replace("а", "a")
        .replace("б", "b")
        .replace("в", "v")
        .replace("ѓ", "g")
        .replace("ґ", "g")
        .replace("ғ", "g")
        .replace("ҕ", "g")
        .replace("г", "g")
        .replace("һ", "h")
        .replace("д", "d")
        .replace("ђ", "d")
        .replace("ӗ", "e")
        .replace("ё", "e")
        .replace("є", "e")
        .replace("э", "e")
        .replace("ѣ", "e")
        .replace("е", "e")
        .replace("ж", "zh")
        .replace("җ", "zh")
        .replace("ӝ", "zh")
        .replace("ӂ", "zh")
        .replace("ӟ", "z")
        .replace("ӡ", "z")
        .replace("ѕ", "z")
        .replace("з", "z")
        .replace("ӣ", "j")
        .replace("и́", "i")
        .replace("ӥ", "i")
        .replace("і", "i")
        .replace("ї", "ji")
        .replace("і̄", "i")
        .replace("и", "i")
        .replace("ј", "j")
        .replace("ј̵", "j")
        .replace("й", "j")
        .replace("ќ", "k")
        .replace("ӄ", "k")
        .replace("ҝ", "k")
        .replace("ҡ", "k")
        .replace("ҟ", "k")
        .replace("қ", "k")
        .replace("к̨", "k")
        .replace("к", "k")
        .replace("ԛ", "q")
        .replace("љ", "l")
        .replace("Л’", "l")
        .replace("ԡ", "l")
        .replace("л", "l")
        .replace("м", "m")
        .replace("њ", "n")
        .replace("ң", "n")
        .replace("ӊ", "n")
        .replace("ҥ", "n")
        .replace("ԋ", "n")
        .replace("ԣ", "n")
        .replace("ӈ", "n")
        .replace("н̄", "n")
        .replace("н", "n")
        .replace("ӧ", "o")
        .replace("ө", "o")
        .replace("ӫ", "o")
        .replace("о̄̈", "o")
        .replace("ҩ", "o")
        .replace("о́", "o")
        .replace("о̄", "o")
        .replace("о", "o")
        .replace("œ", "oe")
        .replace("ҧ", "p")
        .replace("ԥ", "p")
        .replace("п", "p")
        .replace("р", "r")
        .replace("с̀", "s")
        .replace("ҫ", "s")
        .replace("ш", "sh")
        .replace("щ", "sch")
        .replace("с", "s")
        .replace("ԏ", "t")
        .replace("т̌", "t")
        .replace("ҭ", "t")
        .replace("т", "t")
        .replace("ӱ", "u")
        .replace("ӯ", "u")
        .replace("ў", "u")
        .replace("ӳ", "u")
        .replace("у́", "u")
        .replace("ӱ̄", "u")
        .replace("ү", "u")
        .replace("ұ", "u")
        .replace("ӱ̄", "u")
        .replace("ю̄", "u")
        .replace("ю", "u")
        .replace("у", "u")
        .replace("ԝ", "w")
        .replace("ѳ", "f")
        .replace("ф", "f")
        .replace("ҳ", "h")
        .replace("х", "h")
        .replace("ћ", "c")
        .replace("ҵ", "c")
        .replace("џ", "d")
        .replace("ч", "c")
        .replace("ҷ", "c")
        .replace("ӌ", "c")
        .replace("ӵ", "c")
        .replace("ҹ", "c")
        .replace("ч̀", "c")
        .replace("ҽ", "c")
        .replace("ҿ", "c")
        .replace("ц", "c")
        .replace("ъ", "y")
        .replace("ӹ", "y")
        .replace("ы̄", "y")
        .replace("ѵ", "y")
        .replace("ы", "y")
        .replace("ь", "y")
        .replace("", "")
        .replace("Ӓ", "a")
        .replace("Ӓ̄", "a")
        .replace("Ӑ", "a")
        .replace("А̄", "a")
        .replace("Ӕ", "ae")
        .replace("А́", "a")
        .replace("А̊", "a")
        .replace("Ә", "a")
        .replace("Ӛ", "a")
        .replace("Я", "a")
        .replace("Ѫ", "a")
        .replace("А", "a")
        .replace("Б", "b")
        .replace("В", "v")
        .replace("Ѓ", "g")
        .replace("Ґ", "g")
        .replace("Ғ", "g")
        .replace("Ҕ", "g")
        .replace("Г", "g")
        .replace("Һ", "h")
        .replace("Д", "d")
        .replace("Ђ", "d")
        .replace("Ӗ", "e")
        .replace("Ё", "e")
        .replace("Є", "e")
        .replace("Э", "e")
        .replace("Ѣ", "e")
        .replace("Е", "e")
        .replace("Ж", "zh")
        .replace("Җ", "zh")
        .replace("Ӝ", "zh")
        .replace("Ӂ", "zh")
        .replace("Ӟ", "z")
        .replace("Ӡ", "z")
        .replace("Ѕ", "z")
        .replace("З", "z")
        .replace("Ӣ", "j")
        .replace("И́", "i")
        .replace("Ӥ", "i")
        .replace("І", "i")
        .replace("Ї", "ji")
        .replace("І̄", "i")
        .replace("И", "i")
        .replace("Ј", "j")
        .replace("Ј̵", "j")
        .replace("Й", "j")
        .replace("Ќ", "k")
        .replace("Ӄ", "k")
        .replace("Ҝ", "k")
        .replace("Ҡ", "k")
        .replace("Ҟ", "k")
        .replace("Қ", "k")
        .replace("К̨", "k")
        .replace("К", "k")
        .replace("ԛ", "q")
        .replace("Љ", "l")
        .replace("Л’", "l")
        .replace("ԡ", "l")
        .replace("Л", "l")
        .replace("М", "m")
        .replace("Њ", "n")
        .replace("Ң", "n")
        .replace("Ӊ", "n")
        .replace("Ҥ", "n")
        .replace("Ԋ", "n")
        .replace("ԣ", "n")
        .replace("Ӈ", "n")
        .replace("Н̄", "n")
        .replace("Н", "n")
        .replace("Ӧ", "o")
        .replace("Ө", "o")
        .replace("Ӫ", "o")
        .replace("О̄̈", "o")
        .replace("Ҩ", "o")
        .replace("О́", "o")
        .replace("О̄", "o")
        .replace("О", "o")
        .replace("Œ", "oe")
        .replace("Ҧ", "p")
        .replace("ԥ", "p")
        .replace("П", "p")
        .replace("Р", "r")
        .replace("С̀", "s")
        .replace("Ҫ", "s")
        .replace("Ш", "sh")
        .replace("Щ", "sch")
        .replace("С", "s")
        .replace("Ԏ", "t")
        .replace("Т̌", "t")
        .replace("Ҭ", "t")
        .replace("Т", "t")
        .replace("Ӱ", "u")
        .replace("Ӯ", "u")
        .replace("Ў", "u")
        .replace("Ӳ", "u")
        .replace("У́", "u")
        .replace("Ӱ̄", "u")
        .replace("Ү", "u")
        .replace("Ұ", "u")
        .replace("Ӱ̄", "u")
        .replace("Ю̄", "u")
        .replace("Ю", "u")
        .replace("У", "u")
        .replace("ԝ", "w")
        .replace("Ѳ", "f")
        .replace("Ф", "f")
        .replace("Ҳ", "h")
        .replace("Х", "h")
        .replace("Ћ", "c")
        .replace("Ҵ", "c")
        .replace("Џ", "d")
        .replace("Ч", "c")
        .replace("Ҷ", "c")
        .replace("Ӌ", "c")
        .replace("Ӵ", "c")
        .replace("Ҹ", "c")
        .replace("Ч̀", "c")
        .replace("Ҽ", "c")
        .replace("Ҿ", "c")
        .replace("Ц", "c")
        .replace("Ъ", "y")
        .replace("Ӹ", "y")
        .replace("Ы̄", "y")
        .replace("Ѵ", "y")
        .replace("Ы", "y")
        .replace("Ь", "y")
        .replace("№", "")
        .replace("\'", "")
        .replace("\"", "")
        .replace(";", "")
        .replace(":", "")
        .replace(",", "")
        .replace(".", "")
        .replace(">", "")
        .replace("<", "")
        .replace("?", "")
        .replace("!", "")
        .replace("@", "")
        .replace("#", "")
        .replace("$", "")
        .replace("%", "")
        .replace("&", "")
        .replace("^", "")
        .replace("(", "")
        .replace(")", "")
        .replace("*", "")
        .replace("+", "")
        .replace("~", "")
        .replace("|", "")
        .replace("{", "")
        .replace("}", "")
        .replace("|", "")
        .replace("[", "")
        .replace("]", "")
        .replace("/", "")
        .replace("`", "")
        .replace("=", "")
        .replace("+", "")
        .replace("_", "")
        .replace("\s", "")
        .replace("\s\s", "")
        .replace("/[^A-Za-z0-9\-]", "")
        .trim();
    $(this).val(translit);
});
$(窗口).load(函数(){
$(“#用户名,.validate用户名”).keyup(
函数反式(){
var translatit=$(“#用户名,.validate用户名”).val()
.替换(“ӓ”、“a”)
.替换(“a”)
.替换(“a”)
.替换(“ā”、“a”)
.替换(“ӕ”、“ae”)
.替换(“á”和“a”)
.替换(“å”和“a”)
.替换(“ә”、“a”)
.替换(“a”)
.替换(“a”)
.替换(“a”)
.替换(“a”、“a”)
.替换(“б”、“b”)
.替换(“v”、“v”)
.替换(“ѓ”、“g”)
.替换(“ґ”、“g”)
.替换(“ғ”、“g”)
.替换(“g”)
.替换(“Γ”、“g”)
.替换(“һ”、“h”)
.替换(“а”、“d”)
.替换(“ђ”、“d”)
.替换(“ӗ”、“e”)
.替换(“ё”、“e”)
.替换(“є”、“e”)
.替换(“э”、“e”)
.替换(“ѣ”、“e”)
.替换(“e”、“e”)
.替换(“ж”、“zh”)
.替换(“җ”、“zh”)
.替换(“ӝ”、“zh”)
.替换(“ӂ”、“zh”)
.替换(“ӟ”、“z”)
.替换(“ӡ”、“z”)
.替换(“ѕ”、“z”)
.替换(“з”、“z”)
.替换(“ӣ”、“j”)
.替换(“i”和“i”)
.替换(“ӥ”、“i”)
.替换(“і”、“i”)
.替换(“ї”、“ji”)
.替换(“i”)
.替换(“i”、“i”)
.替换(“j”)
.替换(“j”)
.替换(“j”)
.替换(“ќ”、“k”)
.替换(“ӄ”、“k”)
.替换(“ҝ”、“k”)
.替换(“ҡ”、“k”)
.替换(“ҟ”、“k”)
.替换(“қ”、“k”)
.替换(“̨̨”和“k”)
.替换(“κ”、“k”)
.替换(“ԛ”、“q”)
.替换(“љ”、“l”)
.替换(“Л”和“l”)
.替换(“ԡ”、“l”)
.替换(“π”、“l”)
.替换(“m”、“m”)
.替换(“њ”、“n”)
.替换(“ң”、“n”)
.替换(“ӊ”、“n”)
.替换(“ҥ”、“n”)
.替换(“ԋ”、“n”)
.替换(“ԣ”、“n”)
.替换(“ӈ”、“n”)
.替换(“̄̄”、“n”)
.替换(“n”、“n”)
.替换(“ӧ”、“o”)
.替换(“ө”、“o”)
.替换(“ӫ”、“o”)
.替换(“o”)
.替换(“ҩ”、“o”)
.替换(“o”、“o”)
.替换(“o”、“o”)
.替换(“o”、“o”)
.替换(“oe”)
.替换(“ҧ”、“p”)
.替换(“ԥ”、“p”)
.替换(“П”,“p”)
.替换(“П”、“r”)
.替换(“С̀”和“s”)
.替换(“ҫ”、“s”)
.替换(“ï”、“sh”)
.替换(“sch”)
.替换(“c”、“s”)
.替换(“ԏ”、“t”)
.替换(“ť”,“t”)
.替换(“ҭ”、“t”)
.替换(“t”、“t”)
.替换(“ӱ”、“u”)
.替换(“ӯ”、“u”)
.替换(“ў”、“u”)
.替换(“ӳ”、“u”)
.替换(“́́”和“u”)
.替换(“u”)
.替换(“ү”、“u”)
.替换(“ұ”、“u”)
.替换(“u”)
.替换(“u”)
.替换(“u”)
.替换(“а”、“u”)
.替换(“ԝ”、“w”)
.替换(“ѳ”、“f”)
.替换(“ф”、“f”)
.替换(“h”)
.替换(“Б”、“h”)
.替换(“ћ”、“c”)
.替换(“ҵ”、“c”)
.替换(“џ”、“d”)
.替换(“ч”、“c”)
.替换(“ҷ”、“c”)
.替换(“ӌ”、“c”)
.替换(“ӵ”、“c”)
.替换(“ҹ”、“c”)
.替换(“ч̀”和“c”)
.替换(“ҽ”、“c”)
.替换(“ҿ”、“c”)
.替换(“ц”、“c”)
.替换(“ъ”、“y”)
.替换(“ӹ”、“y”)
.替换(“y”)
.替换(“ѵ”、“y”)
.替换(“y”)
.替换(“y”)
.替换(“,”)
.替换(“a”)
.替换(“a”)
.替换(“a”)
.替换(“ā”和“a”)
.替换(“Ӕ”、“ae”)
.替换(“á”和“a”)
.替换(“å”和“a”)
.替换(“a”)
.替换(“a”)
.替换(“Я”、“a”)
.替换(“Ѫ”、“a”)
.替换(“a”、“a”)
.替换(“Б”、“b”)
.替换(“b”、“v”)
.替换(“Ѓ”、“g”)
.替换(“g”)
.替换(“Ғ”、“g”)
.替换(“g”)
.替换(“Γ”、“g”)
.替换(“Һ”、“h”)
.替换(“Б”、“d”)
.替换(“Ђ”、“d”)
.替换(“Ӗ”、“e”)
.替换(“Ё”、“e”)
.替换(“eu”、“e”)
.替换(“Б”、“e”)
.替换(“Ѣ”、“e”)
.替换(“e”、“e”)
.替换(“Ж”、“zh”)
.替换(“Җ”、“zh”)
.替换(“Ӝ”、“zh”)
.替换(“Ӂ”、“zh”)
.替换(“Ӟ”、“z”)
.替换(“Ӡ”、“z”)
.替换(“Ѕ”、“z”)
.替换(“三”、“z”)
.替换(“}”、“j”)
.替换(“́́”和“i”)
.替换(“Ӥ”、“i”)
.替换(“i”、“i”)
.替换(“Ї”、“ji”)
.替换(“ī”、“i”)
.替换(“η”、“i”)
.替换(“”、“j”)
.替换(“”、“j”)
.替换(“Й”、“j”)
.替换(“Ќ”、“k”)
.替换(“Ӄ”、“k”)
.替换(“Ҝ”、“k”)
.替换(“Ҡ”、“k”)
.替换(“k”)
.替换(“Қ”、“k”)
.替换(“k̨”和“k”)
.替换(“k”、“k”)
.替换(“ԛ”、“q”)
.替换(“Љ”、“l”)
.替换(“Л”和“l”)
.替换(“ԡ”、“l”)
.替换(“Л”、“l”)
.替换(“М”、“m”)
.替换(“Њ”、“n”)
.替换(“Ң”、“n”)
.替换(“Ӊ”、“n”)
.替换(“Ҥ”、“n”)
.替换(“Ԋ”、“n”)
.替换(“ԣ”、“n”)
.替换(“Ӈ”、“n”)
.替换(“̄̄”和“n”)
.替换(“h”、“n”)
.替换(“Ӧ”、“o”)
.替换(“}”、“o”)
.替换(“Ӫ”、“o”)
.
var r = ['ӓ',...];
var r = ['a',...];
...
var translit = $("#username,.validate-username").val();
for ( var i = 0 ; i < r.length ; i++ ) {
    translit.replace(r[i], e[i]);
}
...
var map = {"ӓ":"a",...};
$("#username,.validate-username").keyup(function(){
    // get reference to value
        var val = $("#username,.validate-username").val()
    // define map of translations to do
        var map = [
    ["ӓ", "a"], ["ӓ̄", "a"], ["ӑ", "a"], ["а̄", "a"], ["ӕ", "ae"], ["а́", "a"], ["а̊", "a"], ["ә", "a"], ["ӛ", "a"], ["я", "a"], ["ѫ", "a"], ["а", "a"], ["б", "b"], ["в", "v"], ["ѓ", "g"], ["ґ", "g"], ["ғ", "g"], ["ҕ", "g"], ["г", "g"], ["һ", "h"], ["д", "d"], ["ђ", "d"], ["ӗ", "e"], ["ё", "e"], ["є", "e"], ["э", "e"], ["ѣ", "e"], ["е", "e"], ["ж", "zh"], ["җ", "zh"], ["ӝ", "zh"], ["ӂ", "zh"], ["ӟ", "z"], ["ӡ", "z"], ["ѕ", "z"], ["з", "z"], ["ӣ", "j"], ["и́", "i"], ["ӥ", "i"], ["і", "i"], ["ї", "ji"], ["і̄", "i"], ["и", "i"], ["ј", "j"], ["ј̵", "j"], ["й", "j"], ["ќ", "k"], ["ӄ", "k"], ["ҝ", "k"], ["ҡ", "k"], ["ҟ", "k"], ["қ", "k"], ["к̨", "k"], ["к", "k"], ["ԛ", "q"], ["љ", "l"], ["Л’", "l"], ["ԡ", "l"], ["л", "l"], ["м", "m"], ["њ", "n"], ["ң", "n"], ["ӊ", "n"], ["ҥ", "n"], ["ԋ", "n"], ["ԣ", "n"], ["ӈ", "n"], ["н̄", "n"], ["н", "n"], ["ӧ", "o"], ["ө", "o"], ["ӫ", "o"], ["о̄̈", "o"], ["ҩ", "o"], ["о́", "o"], ["о̄", "o"], ["о", "o"], ["œ", "oe"], ["ҧ", "p"], ["ԥ", "p"], ["п", "p"], ["р", "r"], ["с̀", "s"], ["ҫ", "s"], ["ш", "sh"], ["щ", "sch"], ["с", "s"], ["ԏ", "t"], ["т̌", "t"], ["ҭ", "t"], ["т", "t"], ["ӱ", "u"], ["ӯ", "u"], ["ў", "u"], ["ӳ", "u"], ["у́", "u"], ["ӱ̄", "u"], ["ү", "u"], ["ұ", "u"], ["ӱ̄", "u"], ["ю̄", "u"], ["ю", "u"], ["у", "u"], ["ԝ", "w"], ["ѳ", "f"], ["ф", "f"], ["ҳ", "h"], ["х", "h"], ["ћ", "c"], ["ҵ", "c"], ["џ", "d"], ["ч", "c"], ["ҷ", "c"], ["ӌ", "c"], ["ӵ", "c"], ["ҹ", "c"], ["ч̀", "c"], ["ҽ", "c"], ["ҿ", "c"], ["ц", "c"], ["ъ", "y"], ["ӹ", "y"], ["ы̄", "y"], ["ѵ", "y"], ["ы", "y"], ["ь", "y"], ["", ""], ["Ӓ", "a"], ["Ӓ̄", "a"], ["Ӑ", "a"], ["А̄", "a"], ["Ӕ", "ae"], ["А́", "a"], ["А̊", "a"], ["Ә", "a"], ["Ӛ", "a"], ["Я", "a"], ["Ѫ", "a"], ["А", "a"], ["Б", "b"], ["В", "v"], ["Ѓ", "g"], ["Ґ", "g"], ["Ғ", "g"], ["Ҕ", "g"], ["Г", "g"], ["Һ", "h"], ["Д", "d"], ["Ђ", "d"], ["Ӗ", "e"], ["Ё", "e"], ["Є", "e"], ["Э", "e"], ["Ѣ", "e"], ["Е", "e"], ["Ж", "zh"], ["Җ", "zh"], ["Ӝ", "zh"], ["Ӂ", "zh"], ["Ӟ", "z"], ["Ӡ", "z"], ["Ѕ", "z"], ["З", "z"], ["Ӣ", "j"], ["И́", "i"], ["Ӥ", "i"], ["І", "i"], ["Ї", "ji"], ["І̄", "i"], ["И", "i"], ["Ј", "j"], ["Ј̵", "j"], ["Й", "j"], ["Ќ", "k"], ["Ӄ", "k"], ["Ҝ", "k"], ["Ҡ", "k"], ["Ҟ", "k"], ["Қ", "k"], ["К̨", "k"], ["К", "k"], ["ԛ", "q"], ["Љ", "l"], ["Л’", "l"], ["ԡ", "l"], ["Л", "l"], ["М", "m"], ["Њ", "n"], ["Ң", "n"], ["Ӊ", "n"], ["Ҥ", "n"], ["Ԋ", "n"], ["ԣ", "n"], ["Ӈ", "n"], ["Н̄", "n"], ["Н", "n"], ["Ӧ", "o"], ["Ө", "o"], ["Ӫ", "o"], ["О̄̈", "o"], ["Ҩ", "o"], ["О́", "o"], ["О̄", "o"], ["О", "o"], ["Œ", "oe"], ["Ҧ", "p"], ["ԥ", "p"], ["П", "p"], ["Р", "r"], ["С̀", "s"], ["Ҫ", "s"], ["Ш", "sh"], ["Щ", "sch"], ["С", "s"], ["Ԏ", "t"], ["Т̌", "t"], ["Ҭ", "t"], ["Т", "t"], ["Ӱ", "u"], ["Ӯ", "u"], ["Ў", "u"], ["Ӳ", "u"], ["У́", "u"], ["Ӱ̄", "u"], ["Ү", "u"], ["Ұ", "u"], ["Ӱ̄", "u"], ["Ю̄", "u"], ["Ю", "u"], ["У", "u"], ["ԝ", "w"], ["Ѳ", "f"], ["Ф", "f"], ["Ҳ", "h"], ["Х", "h"], ["Ћ", "c"], ["Ҵ", "c"], ["Џ", "d"], ["Ч", "c"], ["Ҷ", "c"], ["Ӌ", "c"], ["Ӵ", "c"], ["Ҹ", "c"], ["Ч̀", "c"], ["Ҽ", "c"], ["Ҿ", "c"], ["Ц", "c"], ["Ъ", "y"], ["Ӹ", "y"], ["Ы̄", "y"], ["Ѵ", "y"], ["Ы", "y"], ["Ь", "y"], ["№", ""], ["\'", ""], ["\"", ""], [";", ""], [":", ""], [",", ""], [".", ""], [">", ""], ["<", ""], ["?", ""], ["!", ""], ["@", ""], ["#", ""], ["$", ""], ["%", ""], ["&", ""], ["^", ""], ["(", ""], [")", ""], ["*", ""], ["+", ""], ["~", ""], ["|", ""], ["{", ""], ["}", ""], ["|", ""], ["[", ""], ["]", ""], ["/", ""], ["`", ""], ["=", ""], ["+", ""], ["_", ""], ["\s", ""], ["\s\s", ""], ["/[^A-Za-z0-9\-]", ""]
];
    // loop through the map, doing all necessary replacements
    for(var i=0; i<map.length; i++){
        val = val.replace(map[i][0], map[i][1]);
    };

    $(this).val(val.trim());

});
.bind('keyup keypress keydown', function ()