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:
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:
Publicar un comentario