Hola.
A ver si alguien me tiene la paciencia para explicarme con manzanitas unas partes de la validación:
/^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/
específicamente las marcadas con
![Pensando](http://static.forosdelweb.com/fdwtheme/images/smilies/scratchchin.gif)
/^
![de acuerdo](http://static.forosdelweb.com/fdwtheme/images/smilies/dedosarriba.png)
([a-zA-Z0-9_.-])
![de acuerdo](http://static.forosdelweb.com/fdwtheme/images/smilies/dedosarriba.png)
+
![Pensando](http://static.forosdelweb.com/fdwtheme/images/smilies/scratchchin.gif)
@(([a-zA-Z0-9-])+.) ¿por qué no hay un + después del @?, y ¿por qué están anidados esos paréntesis?
![de acuerdo](http://static.forosdelweb.com/fdwtheme/images/smilies/dedosarriba.png)
+
![Pensando](http://static.forosdelweb.com/fdwtheme/images/smilies/scratchchin.gif)
([a-zA-Z0-9]{2,4}) ¿para qué es el {2,4}?
![Pensando](http://static.forosdelweb.com/fdwtheme/images/smilies/scratchchin.gif)
+$/
Gracias