Ver Mensaje Individual
  #8 (permalink)  
Antiguo 31/08/2006, 03:26
Avatar de tunait
tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
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