Solució de l'exercici 5 del dia 2009-Nov-04

Recordeu que quan vam sustituir els caràcters amb accent per caràcters especials amb la funció replace només se sustituïa la primera vegada que apareixia.

Doncs bé, tenim la solució: Hem de fer servir les anomenades "expressions regulars". Mira't els següents enllaços que en parlen:

  1. Enllaç 1
  2. Enllaç 2 (Aquí teniu una llista)

Aplica't al que voliem fer tenim un exemple concret. Clica aquí Mireu com ho solucionen en aquest enllaç i acabeu de completar l'exercici d'ahir.

Según eso con el ejemplo que teníamos habría que hacer:

cadena.replace(/á/g, "á");


Així la solució de l'exercici 5 d'ahir és:


<HTML>
<HEAD>
<TITLE>Reemplazar un trozo de una cadena por otra cosa</TITLE>
<script>

function cambiar() {

var cadena=document.masa.cosa.value;

//minúsculas acentuadas agudas
cadena = cadena.replace(/á/g,"á");

cadena = cadena.replace(/é/g,"é");

cadena = cadena.replace(/í/g,"í");

cadena = cadena.replace(/ó/g,"ó");

cadena = cadena.replace(/ú/g,"ú");


//minúsculas acentuadas graves
cadena = cadena.replace(/à/g,"à");

cadena = cadena.replace(/è/g,"è");

cadena = cadena.replace(/ò/g,"ò");


//mayúsculas acentuadas agudas
cadena = cadena.replace(/Á/g,"Á");

cadena = cadena.replace(/É/g,"É");

cadena = cadena.replace(/Í/g,"Í");

cadena = cadena.replace(/Ó/g,"Ó");

cadena = cadena.replace(/Ú/g,"Ú");


//mayúsculas acentuadas graves
cadena = cadena.replace(/À/g,"À");

cadena = cadena.replace(/È/g,"È");

cadena = cadena.replace(/Ò/g,"Ò");


//ç y Ç
cadena = cadena.replace(/ç/g,"ç");
cadena = cadena.replace(/Ç/g,"Ç");

//ñ y Ñ
cadena = cadena.replace(/n/g,"ñ");
cadena = cadena.replace(/N/g,"Ñ");


// punt volat
cadena = cadena.replace(/·/g,"·");


document.masa.cosa.value=cadena;


}




</script>
</HEAD>
<BODY>

<form name="masa">
<textarea cols="25" rows="10" name="cosa"></textarea>
<input type="button" onclick="cambiar();" value="corrige" />
</form>



</BODY>
</HTML>



Puedes completar los carácteres especiales que tú consideres que se puedan añadir.

0 comentarios: