这个工程,我想:制作莱特说翻译
var elite = document.getElementById("elite"),
leet = document.getElementById("leet"),
alphabets = {
a: "4",
b: "8",
e: "3",
g: "6",
i: "1",
o: "0",
p: "9",
s: "5",
t: "7",
z: "2"
},
// words = {
// cool: "kewl",
// dude: "d00d",
// hacker: "h4x0r",
// newbie: "n00b",
// sucks: "sux0r"
// },
words = {
"c00l": "kewl",
"dud3": "d00d",
"h4ck3r": "h4x0r",
"n3w813": "n00b",
"5uck5": "sux0r"
},
wordsArr,
text;
function changeLetters() { // change all letters
text = elite.value.toLowerCase();
for (var i = 0; i < text.length; i++) {
if (alphabets[text[i]]) {
text = text.replace(text[i], alphabets[text[i]]);
}
}
// leet.value = text;
}
function changeWords() { // change special words
wordsArr = text.split(" ");
for (var i = 0; i < wordsArr.length; i++) {
if (words[wordsArr[i]]) {
wordsArr[i] = words[wordsArr[i]];
}
}
}
function tol33t() {
changeLetters();
changeWords();
leet.value = wordsArr.join(" ");
}
elite.addEventListener("input", tol33t);
document.getElementById("btn").addEventListener("click", tol33t);
你可以看到,我将它们转换为LEET后更换的话。但我正在琢磨如何直接替换单词。我的意思是使用我评论的对象。 从“冷”到“kwel”不是从“c00l”到“KEWL”
***请查看更新的问题 - leet speak translator critical bug
你试图完成什么? 'changeLetters()'会将'cool'改为'c00l',然后'changeWords()'将改变为'kewl'。有什么问题吗? – JLRishe
我正在寻找一种方法来将单词“cool”,“hacker”直接转换为“kewl”和“haxor”,然后将其他字母转换为'changelettrs()' – user3079292
@ user3079292:调用您的调用顺序? –