Ver Mensaje Individual
  #4 (permalink)  
Antiguo 17/11/2007, 21:30
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Expresion regular para separar cadena con comas y/o espacios

Hola de nuevo:

No has puesto XHTML, pero me he inventado uno para la ocasión. Te recomiendo nunca hacer submit de los formularios con javascript, es mejor utilizar la devolución true o false, y aplicar la función al evento onsubmit del formulario (más accesible).


Por otra parte, felicidades, es la primera vez que veo comportamientos diferentes para expresiones regulares en IE y en FF . Llevo tiempo trabajando con ellas y nunca me dieron dificultades, pensaba que el motor, aunque diferente, funcionaría de igual manera. Y de hecho ha cumplido hasta ahora.

Para IE el código que te puse al principio funciona, pero para firefox devuelve algo así (elementos separados con un pipe | ):
Que es lo que produce tu error. Hay un montón de elementos (incluso vacíos), y no he conseguido averiguar por qué


Lo he podido solucionar de ésta manera "tan sencilla" probando cosas:
Código:
var Cad='[email protected], [email protected],[email protected] [email protected]'    //Obtengo los correos del formulario ('[email protected], [email protected],[email protected] [email protected]')
var ArrCad=Cad.split(/[(, )(,)( )]+/)    //Divido la cadena (por espacios y comas) en un arreglo
document.write( Cad +"<br/>");
document.write( ArrCad.join("|") );
Fíjate que si quitamos el + de la expresión regular acabamos con su funcionalidad (únicamente en FF pasa ésto)



No sabría decirte cómo o por qué, pero el caso es que ésta es la expresión regular que te funcionara...


Un saludo, y si a alguien se le ocurre la explicación le agradeceré mucho que la postee, porque yo estoy
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.