Hola a todos
Lo que yo haría para la parte de los caracteres que no fueran los que mencionabas (letras, numeros, punto y diagonal) es seguir usando las RegExp y verificar caracter a caracter si se ajusta al patrón definido en la regexp. En caso afirmativo se guarda el caracter en otra variable concatenando los caracteres válidos.
algo como esto
Código:
pat = /\w|\s|\//
texto2 = '';
for(m=0; m<texto.length; m++){
if(pat.test(texto.charAt(m))) texto2 += texto.charAt(m)
}
alert(texto2)
La función completa podría verse así
Código:
function v28(texto, caja){
texto=texto.replace(/(À|Á|Â|Ã|Ä|Å|Æ)/gi,'A'); // cambio las "A"s exoticas por "A"s sencillas mediante expresiones regulares
texto=texto.replace(/(È|É|Ê|Ë)/gi,'E'); //lo mismo con las "E" y resto de vocales y la "Ñ"
texto=texto.replace(/(Ì|Í|Î|Ï)/gi,'I');
texto=texto.replace(/(Ò|Ó|Ô|Ö)/gi,'O');
texto=texto.replace(/(Ù|Ú|Û|Ü)/gi,'U');
texto=texto.replace(/(Ñ)/gi,'N');
document.getElementById(caja).value = texto; //envio mi cadena cambiada a la caja...
pat = /\w|\s|\//
texto2 = '';
for(m=0; m<texto.length; m++){
if(pat.test(texto.charAt(m))) texto2 += texto.charAt(m)
}
alert(texto2)
}
Código:
<form id="form1" name="form1" method="post" action="">
<p>
<input name="nombre" size="50" value="pingüino molón ünico, en: 1º españa & / (¿mexico?)" type="text" id="nombre" onblur="this.value=this.value.toUpperCase(); pepe(this.value, this.name);"/>
</p>
</form>
Un saludo