Merci à l'avenir d'utiliser le colorateur de code intégré au forum, pour qu'on y voit quelque chose.
Ta logique où tu comptes le nombre de voyelles est bonne. Il te suffit de faire la même chose (parcourir tous les caractères), et si tu tombes sur un caractère spécial à changer en "leet", tu le remplaces dans ta nouvelle chaîne.
Cela donnerait un truc du genre :
var message = "Ceci est un message sans leet speak !";
var messageLeet = "";
for (var i = 0; i < message.length; i++) {
if (message[i].toLowerCase() === "l") { messageLeet += "1"; }
else if (message[i].toLowerCase() === "e") { messageLeet += "3"; }
else if (message[i].toLowerCase() === "a") { messageLeet += "4"; }
else if (message[i].toLowerCase() === "t") { messageLeet += "7"; }
else if (message[i].toLowerCase() === "s") { messageLeet += "5"; }
else if (message[i].toLowerCase() === "o") { messageLeet += "0"; }
else { messageLeet += message[i].toLowerCase(); }
}
console.log(messageLeet);
Et sinon, voici une autre version plus compacte et fonctionnelle, qui utilise la méthode .replace() :
function replaceChr(chr) {
var chrs = {'a':'4','e':'3','l':'1','t':'7','s':'5','o':'0'};
return chrs[chr.toLowerCase()] || chr;
}
var message = "Ceci est un message sans leet speak !";
console.log( message.replace(/[aeltso]/g, replaceChr) );
var motLeet = "";
for(var i = 0 ; i < mot.length ; i++){
if (mot[i].toLowerCase() === "e"){motLeet += "3";}
else if(mot[i].toLowerCase() === "a"){motLeet += "4";}
else if (mot[i].toLowerCase() === "o"){motLeet += "O"}
else {motLeet += mot[i].toLowerCase();}
}
console.log(mot + " s'écrit " + motLeet + " en LeetSpeak.");
Merci pour l'info
Javascript LeetSpeak
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Merci pour l'info