Foros del Web » Programando para Internet » Javascript »

substituir vocales de una frase

Estas en el tema de substituir vocales de una frase en el foro de Javascript en Foros del Web. Hola tengo el siguiente problema cambiar las vocales de una frase que proporciona el usuario mediante un prompt ejemplo: escribimos como frase --> el barça ...
  #1 (permalink)  
Antiguo 28/10/2012, 05:48
 
Fecha de Ingreso: octubre-2012
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Exclamación substituir vocales de una frase

Hola
tengo el siguiente problema
cambiar las vocales de una frase que proporciona el usuario mediante un prompt

ejemplo: escribimos como frase --> el barça es el mejor y hay que mostrar por pantalla :
- al barça as al majar
- el berçe es el mejer
asi con todas las vocales

e probado de la siguiente forma, pero solo lo hace la primera vez que encuentra esa vocal:
Código HTML:
<div id="vocales"></div>

	
	
	<script type="application/javascript">
		
		var frase="palabra";
		
		frase= prompt("Escribe una frase");
		frase = frase.replace('e','a').replace('i','a')
               .replace('o','a').replace('u','a')
          
               
               document.getElementById("vocales").innerHTML+=frase;
	
	</script> 
ya se que tengo que hacer un for pero no se me ocurre como seguir

gracias de antemano
  #2 (permalink)  
Antiguo 28/10/2012, 07:08
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: substituir vocales de una frase

En primer lugar, bienvenido sa FDW @da8332

Vos mencionar lo del for estás hablando de hacer algo así

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. //<![CDATA[
  3. var Lafrase = "palabra";
  4. var frase = new Array();
  5. frase = Lafrase.split('');
  6. for(var i = 0;i < frase.length;i++){
  7. alert(frase[i]);
  8. // .....
  9. //.....
  10. }
  11. //]]>
  12. </script>

Sabiendo cada letra efectuar el reemplazo e ir reconstruyendo la frase, pero en tu caso es la forma incorrecta, no porque esté mal, sino por que javascript te provee de un método más efectivo


Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. //<![CDATA[
  3. var Lafrase = "palabra";
  4. var nuevaFrase=Lafrase.replace(/a/g,"e");
  5. alert(nuevaFrase);
  6. //]]>
  7. </script>


consultá sobre el uso del modificador 'g' en una expresión regular



Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 28/10/2012, 07:21
 
Fecha de Ingreso: octubre-2012
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Respuesta: substituir vocales de una frase

gracias
me gusta mas tu manera que la del for pero tengo una duda, si hago lo que tu me propones solo sustituye la por la e, pero si encuentra una i no la sustituye por la e

e probado de esta forma pero nada no se si tiene que ver con /g:
Código HTML:
var Lafrase = "palabra";
		Lafrase = prompt ("Escribe una frase");
		var nuevaFrase=Lafrase.replace(/a/g,"e");
		nuevaFrase=Lafrase.replace(/i/g,"e");
		nuevaFrase=Lafrase.replace(/o/g,"e");
		nuevaFrase=Lafrase.replace(/u/g,"e");
			alert(nuevaFrase);
  #4 (permalink)  
Antiguo 28/10/2012, 07:28
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Respuesta: substituir vocales de una frase

Me ganaste de nuevo, emprear. Yo ya había tipeado uno de mis clásicos mensajes :

«No tenés que hacer un bucle for(), da8332, tenés que abrir un tutorial de expresiones regulares.

Código:
<script type="text/javascript">
var v = /[aeiou]/gi;
var c= prompt("Cadena.","murcielago");
var a = "a";
alert(c.replace(v, a));
</script>
»

Supongo que para empezar esto estarría bien.

http://webs.ono.com/jlmorgon1/tutojs/tutojs20.html#a

P.D.: ¿Y con los acentos qué hacemos?.
  #5 (permalink)  
Antiguo 28/10/2012, 08:29
 
Fecha de Ingreso: octubre-2012
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Respuesta: substituir vocales de una frase

gracias a los dos ya resolvi el problema, pongo el codifo por si le sirve a alguien


Código Javascript:
Ver original
  1. <body>
  2.     <header>Amb vocal</header>
  3.     <br />
  4.     <div id="vocals">
  5.     <span id="frase"><br/></span>
  6.     <span id="a"><br/></span>
  7.     <span id="e"><br/></span>
  8.     <span id="i"><br/></span>
  9.     <span id="o"><br/></span>
  10.     <span id="u"><br/></span>
  11.     </div>
  12.  
  13.    
  14.    
  15.     <script type="application/javascript">
  16.  
  17. var longitut=26;       
  18. while(longitut>25)
  19. {      
  20.     var v = /[aeiou]/gi;
  21.     var frase;
  22.     frase= prompt("Escriu una frase","el barça es el millor");
  23.     frase = frase.toLowerCase();
  24.     longitut = frase.length;
  25.     if (longitut>25)
  26.         alert ("la frase té que ser com a màxim de 25 caràcters");
  27. }
  28. frase=frase.fontcolor("blue");
  29. var a = "a",e="e",i="i",o="o",u="u";
  30. var aa=frase.replace(v, a).fontcolor("brown");
  31. var ee=frase.replace(v, e).fontcolor("brown");
  32. var ii=frase.replace(v, i).fontcolor("brown");
  33. var oo=frase.replace(v, o).fontcolor("brown");
  34. var uu=frase.replace(v, u).fontcolor("brown");
  35.  
  36.                
  37.                 document.getElementById("frase").innerHTML+=frase;
  38.                 document.getElementById("a").innerHTML+=aa;
  39.                 document.getElementById("e").innerHTML+=ee;
  40.                 document.getElementById("i").innerHTML+=ii;
  41.                 document.getElementById("o").innerHTML+=oo;
  42.                 document.getElementById("u").innerHTML+=uu;
  43.    
  44.     </script>
  #6 (permalink)  
Antiguo 28/10/2012, 08:59
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Respuesta: substituir vocales de una frase

No lo resolviste, seguís copiando y pegando sin mirar tutoriales.

Y para la lista de frases coloreadas, sí se puede usar un bucle. Pero tendrías que leer un manual de JS.
  #7 (permalink)  
Antiguo 28/10/2012, 09:28
 
Fecha de Ingreso: octubre-2012
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Respuesta: substituir vocales de una frase

le echado un ojo a la web que tu pusites sobre expresiones regulares

acabo de empezar a tocar JS

Etiquetas: frase, html, substituir, vocales
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




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