Foros del Web » Programando para Internet » Javascript »

SCRIPT que cambia los números por letras

Estas en el tema de SCRIPT que cambia los números por letras en el foro de Javascript en Foros del Web. LO NECESITO!! Si alguno de ustedes sabe donde conseguir un Script así, se lo voy a agradecer en el alma. Debe ser un SCRIP que ...
  #1 (permalink)  
Antiguo 09/10/2009, 17:27
StarClown
Invitado
 
Mensajes: n/a
Puntos:
Busqueda SCRIPT que cambia los números por letras

LO NECESITO!!

Si alguno de ustedes sabe donde conseguir un Script así, se lo voy a agradecer en el alma.

Debe ser un SCRIP que cambie, en ESPECIAL, esto:

M=1
U=2
R=3
C=4
I=5
E=6
L=7
A=8
G=9
O=0

Pero si ya tienen uno parecido, yo lo edito a mi manera y listo! MUUUUCHAS GRACIAS de ante mano ;)
  #2 (permalink)  
Antiguo 09/10/2009, 17:38
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: SCRIPT que cambia los números por letras

es relativamente facil, ¿por que no lo haces? lo que necesitas es un array donde cada numero corresponda a la letra y con eso vas creando el nuevo string.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 09/10/2009, 18:53
StarClown
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: SCRIPT que cambia los números por letras

Cita:
Iniciado por zerokilled Ver Mensaje
es relativamente facil, ¿por que no lo haces? lo que necesitas es un array donde cada numero corresponda a la letra y con eso vas creando el nuevo string.

Hola ZEROKILLED, sé que es relativamente fácil, de hecho me suena que no es muy complicado pero, esa clase la pasé dormida jajaja y cada intento que he hecho para hacerme mis propios scripts, han resultado en un fiasco.

Mucho les agradeceré si alguien me muestra uno parecido y de ahi tomo el ejemplo. De todos modos, gracias por tu consejo
  #4 (permalink)  
Antiguo 09/10/2009, 19:08
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: SCRIPT que cambia los números por letras

olvidate si es un fiasco, muestranos lo que tienes y con eso te ayudamos
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 09/10/2009, 19:19
StarClown
Invitado
 
Mensajes: n/a
Puntos:
De acuerdo Respuesta: SCRIPT que cambia los números por letras

Cita:
Iniciado por zerokilled Ver Mensaje
olvidate si es un fiasco, muestranos lo que tienes y con eso te ayudamos

Corazón de melón, mis intentos han sido para otros propósitos y he fracasado rotundamente. En este caso, ni siquiera lo he intentado ... pero deja ver si me atrevo y en un ratito lo traigo sale?

Gracias por tu tiempo... a ver si te encuentro cuando regrese!
  #6 (permalink)  
Antiguo 09/10/2009, 19:28
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: SCRIPT que cambia los números por letras

tu mensaje esta muy ambiguo y no estoy seguro de lo que realmente quieres lograr. mira este ejemplo, pero dudo que algo asi es lo que busca.
Código:
array = 'MURCIELAGO'.split("");
array.unshift(array.pop());
string = "1234567890".replace(/\d/g, function(m){
return array[m];
})
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 09/10/2009, 19:52
StarClown
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: SCRIPT que cambia los números por letras

Cita:
Iniciado por zerokilled Ver Mensaje
tu mensaje esta muy ambiguo y no estoy seguro de lo que realmente quieres lograr. mira este ejemplo, pero dudo que algo asi es lo que busca.
Código:
array = 'MURCIELAGO'.split("");
array.unshift(array.pop());
string = "1234567890".replace(/\d/g, function(m){
return array[m];
})

Mmmmm no estoy segura si este me va a funcionar, de hecho ya lo tengo listo para probar pero, mejor te explico:

Lo que necesito es que cada LETRA de la palabra MURCIELAGO tenga un valor numérico o mas bien, se convierta en un NUMERO del 1.. 2.. 3.. hasta el 0.

Es decir, que si yo escribo: ZEROKILLED quede así Z630K5776D!!

  #8 (permalink)  
Antiguo 10/10/2009, 04:26
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: SCRIPT que cambia los números por letras

No tan elavorado como el de zerokilled, pero hace el efecto:

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2.        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
  4.     <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5.     <title></title>
  6.     <script type="text/javascript">
  7.         var letras = new Array();
  8.             letras['m'] = 1;
  9.             letras['u'] = 2;
  10.             letras['r'] = 3;
  11.             letras['c'] = 4;
  12.             letras['i'] = 5;
  13.             letras['e'] = 6;
  14.             letras['l'] = 7;
  15.             letras['a'] = 8;
  16.             letras['g'] = 9;
  17.             letras['o'] = 0;
  18.        
  19.         function cambia(palabra){
  20.             for(var i = 0,l = palabra.length; i < l; i++){
  21.                 var letra = palabra[i];
  22.                 if(letras[letra]){
  23.                     palabra = palabra.replace(letra, letras[letra]);
  24.                 }
  25.             }
  26.             alert(palabra)
  27.         }
  28.        
  29.         cambia('zerokilled');
  30.  
  31.     </script>
  32. </head>
  33.  
  34. </body>
  35. </html>

Espero que sea lo que necesitas. Y ya no hay que dormirse en clase... :)
__________________
twitter: @imbuzu
  #9 (permalink)  
Antiguo 10/10/2009, 10:15
Avatar de punkslot28  
Fecha de Ingreso: junio-2009
Ubicación: Málaga
Mensajes: 215
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: SCRIPT que cambia los números por letras

Un poco dificil ya que si quieres que valla variando los números segun las letras.. tendrias que hacer varios array para que no sea siempre lo mismo ( pienso yo ). Buzu bastante bueno el codigo que nos has aportado, creo que sirve de buen ejemplo.

PD; Lo malo de dormirse en clase de programación no es perderse como hacer un scrip con array.. es que ya pierdes la cadena entera para la proxima clase
  #10 (permalink)  
Antiguo 11/10/2009, 10:26
StarClown
Invitado
 
Mensajes: n/a
Puntos:
De acuerdo Respuesta: SCRIPT que cambia los números por letras

WoW BUZU, que genial SCRIPT has elaborado, bastaaaante cercano a lo que yo buscaba. He estado trabajando en este código y aun así no logro que TODO el DOCUMENTO se convierta en números y letras. Es decir, necesito que... lo que sea que escriba, se convierta en número y letras utilizando como base MURCIELAGO.

PUNKSLOT, de hecho, quiero confesarles que no he estudiado para ser WebMaster. Soy auto didacta o mas bien, sigo aprendiendo de los grandes como ustedes y cada día me enfrento a retos cada vez mas grandes. Pero te aseguro que APRENDO jaja :D y no me duermo. ;)


Les cuento que, el CODIGO MURCIELAGO lo utilizaba cuando era pequeñita y me servía para escribir textos codificados entre mis amigas y yo (y uno que otro novio) jeje y eso es lo que quiero lograr en una WebSite. Ese es "mi secreto!"


Por favor, no se vayan a reir pero, yo quise hacer estos cambios y aun no me resultan... check this out:


Código PHP:
    <script type="text/javascript">
        var 
letras = new Array();    
        function 
cambia(letras){
            for(var 
0,letra.lengthli++){
                var 
letra letra[i];

if(
letras == m
letra " 1, " 

else if(letras == u
letra " 2, " 

else if(letras == r
letra " 3, "

else if(letras == c
letra " 4, "

else if(letras == i
letra " 5, "

else if(letras == e
letra " 6, "

else if(letras == l
letra " 7, "

else if(letras == a
letra " 8, "

else if(letras == g
letra " 9, "

else if(letras == o
letra " 0, "

document.write("<font size=3 face=verdana color=#bb3587><b>" letras "</b></font>");
}
 
    
</script>


<!-- Y PARA APLICARLO A TODA LA PAGINA COLOQUE ESTO EN EL BODY -->


<body bgproperties="fixed" onload="cambia();"> 
  #11 (permalink)  
Antiguo 11/10/2009, 12:31
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: SCRIPT que cambia los números por letras

la verdad, no me gusta la idea pero aqui un ejemplo, solo que un par de criterios que tienes que tener en cuenta.
  • aunque se codifica el contenido eso no significa que otros no puedan leer el mensaje original. simplemente inhabilitando javascript podemos ver el mensaje. por lo que supongo que primero tendras que codificar el documento antes de que llegue al cliente. lo puedes hacer con lenguaje servidor o manualmente creas el documento ya codificado. por supuesto, este ultimo no se tolera mucho porque es mas dificil el mantenimiento.
  • a mi parecer, el criterio mas importante. si en el documento original, tambien aparecen numeros, estos podran ser confundidos al momento de decifrar el contenido. se puede corregir pero de momento no tengo buen animo para pensar un buen algoritmo. basicamente lo que haria es escapar los numeros con un backslash cuando se codifique. y para decifrar, determinar si el numero es escapado para tomar la desicion si hay que cambiar su valor o simplemente remover el backslash.
Código:
walk=function(filter){
var array = [];
	for(var node = this.firstChild; node; node = node.nextSibling){
	if(!filter)array.push(node);
	else if(filter(node))array.push(node);
	if(node.firstChild)array = array.concat(arguments.callee.call(node, filter));
	}
return array;
}

function encode(text, value){
if(text.length != value.length)return;
var map = {};
for(var i = 0; i < text.length; i++)map[text[i]] = value[i];
return map;
}

onload = function(){
charset = encode("murcielago", "1234567890");
walk.call(document.body, function(node){
if(node.nodeType != 3)return;
node.nodeValue = node.nodeValue.replace(/\w/g, function(m){
if(charset[m])return charset[m];
return m;
})
})
}
el codigo esta listo para simplemente copiarlo, pegarlo, y comprobarlo en el documento. pero ojo, aun te falta el decifrador que es bastante facil obtenerlo si estudias detenidamente la funcion encode y la expresion regular en replace.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 11/10/2009 a las 16:54 Razón: error en el codigo
  #12 (permalink)  
Antiguo 11/10/2009, 12:47
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: SCRIPT que cambia los números por letras

la funcion que te pase esta lista para ser aplicada a todo el documento de forma sencilla. Solo es cuestion que la modifiques, pero no como lo haz hecho. Estas acercandote al asunto por el lado equivocado. Si te das cuenta la funcion que te he pasado recibe como parametro una variable, puedes pasarle lo que quieras y lo va a "codificar", de modo que puedes pasarle una referencia a tu documento o ir recorriendo los nodos de texto y ejecutar la funcion en cada uno de ellos. OJO que tanto mi funcion como la que te pasa zerokilled, tienen implicaciones en el desempeno y dependiendo de la maquina visitando el sitio, pueden incluso colgar el navegador o peor.
__________________
twitter: @imbuzu
  #13 (permalink)  
Antiguo 11/10/2009, 15:26
StarClown
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: SCRIPT que cambia los números por letras

ZEROKILLED y BUZU... ustedes me van a matar pero, aun no logro editar vuestros códigos a manera de poderlos usar en mi página.

ZEROKILLED, la verdad es que no es algo tan serio lo que pienso hacer, si alguien decodifica el texto deshabilitando en SCRIPT, no importa. Es solo a manera de JUEGO lo que pensaba hacer en una WebSite y es por eso que no es muy importante la seguridad del TEXTO en si.

Sin embargo, he pensado en lo que mencionaste con respecto a que los NUMEROS se puede confundir con palabras... como si yo quiero decir: "He notado que he bajado 22 kilos" ese texto se traduciría a esto:: "H6 n0t8d0 q26 h6 b8j8d0 22 k570s".... aun así, creo que se entiende. No crees!?

Ahora comprenderán por que me he dado por vencida con esto de los SCRIPTS, entre mas leo al respecto, menos entiendo... nooooo!

Seguiré trabajando duro en ambas opciones y de nuevo, MIL GRACIAS muchachos!


P.D. Para que mis maestros puedan ver mis avances, les dejo esta dirección http://pruebas-staclown.webcindario.com/murcielago.html
  #14 (permalink)  
Antiguo 11/10/2009, 15:53
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: SCRIPT que cambia los números por letras

Cita:
"He notado que he bajado 22 kilos" ese texto se traduciría a esto:: "H6 n0t8d0 q26 h6 b8j8d0 22 k570s".... aun así, creo que se entiende. No crees!
respecitivamente. ahora, ¿que tu crees que sucede si quisieras decifrar el texto luego de cifrarlo? te hago una muestra de lo que me refiero...
  1. texto original
  2. texto cifrado
  3. texto decifrado
fijate que inicialmente el texto original tiene numeros pero cuando se decifra, equivocadamente se decifra un contenido que inicialmente es parte del texto original, como lo muestra la ultima imagen. por ejemplo, la fecha y hora, el total de mensajes, el numero 22 del texto "22 kilos".
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 11/10/2009 a las 16:00
  #15 (permalink)  
Antiguo 11/10/2009, 18:28
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: SCRIPT que cambia los números por letras

la respuesta es usar una vandera (flag). La idea es poner marcar cada numero que debe ser un numero para que al descifrar el cifrado el numero no sea tomado como letras codificadas. Relativamente sencillo.
Ahora, StarClown, el código de Zerokilled es por mucho, mas complicado que el mio. Yo quise hacerlo sencillo por que veo estas empezando. Si lo que quieres es aprender modificando scripts, te sugiero que intentes primero con el mio, el de Zerokilled podría terminar confundiéndote.
__________________
twitter: @imbuzu
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 15:36.