Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/11/2007, 14:02
Avatar de Sergestux
Sergestux
 
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 9 meses
Puntos: 20
Re: Expresion regular para separar cadena con comas y/o espacios

Gracias por responder, veras escribire mejor el codigo completo de la funcion que estoy utilizando:
Código PHP:
        function ValidarMail(FrmAccion)
        {
            var 
Frm=document.Frm
            
if (Frm.Para.textLength==|| Frm.Para.value.length==0)
            {
                
alert('Falta que escriba a quien se enviara la minuta');
                
Frm.Para.focus();
                return 
false;
            }
            else
            {
                
Mail=/^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
                var 
Cad=Frm.Para.value    //Obtengo los correos del formulario ('[email protected][email protected],[email protected] [email protected]')
                
var ArrCad=Cad.split(/(, )|,| /g)    //Divido la cadena (por espacios y comas) en un arreglo
                //var ArrCad=Cad.split(" ")    //Divido la cadena (por espacios y comas) en un arreglo
                
var Tam=ArrCad.length;    //Para no llamar a la funcion en cada iteracion del ciclo
                
var Bandera=false
                
for (var Cont=0Cont TamCont++)
                {
                    if(!
Mail.test(ArrCad[Cont]))    //evaluo un correo con la expresion regular
                    
{
                        
alert('-' ArrCad[Cont] + '-No es un email valido')
                        
Bandera=true
                    
}
                }
                if(
Bandera)    //Si hubo al menos un email invalido
                
{
                    
Frm.Para.focus();
                    return 
false;    //no submit
                
}
            }
            
Frm.Accion.value='EnviarMail';
            
Frm.submit();    //Si llego hasta aca, entonces se puede enviar el formulario
            
return true;
        } 
Esto me arroja con 3 alerts con las siguientes leyendas (les puse los giones para saber que estoy evaluando):

-, - no es un email valido;
-- no es un email valido;
-- no es un email valido;

Se supone que estos 4mails ("[email protected], [email protected],[email protected] [email protected]") son validos, la expresion regular para validar mails la tome de aca mismo de las faq.
Gracias por responder

Última edición por Sergestux; 17/11/2007 a las 14:58