Si ayer veíamos cómo hacer con javascript una función que codifique/descodifique un simple cifrado ROT13 hoy vamos a con otro ejercicio de javascript simple: un conversor inglés-1337.
1337, leet, leet speak o 1337 5p34k es un tipo de escritura compuesta por caracteres alfanuméricos y relativamente popular en ambientes informáticos. No se trata de ningún tipo de cifrado de mensajes, simplemente se sustituyen las letras por número o por conjuntos de símbolos cuyo aspecto recuerde al de dicho caracter.
La función sería algo así: recibe un texto escrito en el alfabeto latino internacional y lo devuelve en 1337. Creamos un objeto con todos los valores a sustituir llamado leetAlph para que nos facilite el trabajo, luego solo recorremos la cadena que recibimos como si fuese un array (en esencia toda cadena es una array de caracteres) y vamos cambiando en cada posición la letra por el valor que le corresponda.
function textoALeet(texto) {
let leetAlph={a:'@',
b:'8',
c:'(',
d:'|)',
e: '3',
f:'ph',
g:'g',
h:'#',
i:'l',
j:'_|',
k:'|<',
l:'1',
m:"|'|'|",
n:'/\/',
o:'0',
p:'|D',
q:'(,)',
r:'|2',
s:'5',
t:'+',
u:'|_|',
v:'|/',
w:"|/|/'",
x:'><',
y:'j',
z:'2'};
texto = texto.toLowerCase();
for (var i = 0; i < texto.length; i++) {
if (leetAlph[texto[i]]) {
text = texto.replace(texto[i], leetAlph[texto[i]]);
}
}
return(texto);
}