En la expresión
^[^@ ]+@[^@ ]+.[^@ .]+$
el punto no equivale a un punto, sino a cualquier caracter. Si queremos buscar un punto deberemos precederle de la barra de escape, es decir:
.
La expresión tal cual está escrita aceptaría direcciones de email que no tengan punto. La expresión correcta sería:
^[^@ ]+@[^@ ]+.[^@ .]+$
04/5/09
Falta un carácterPor: pitogrilloDelante del punto falta una barra invertida, pues el punto se considera comodín y en éste caso queremos únicamente el carácter punto, por lo que hay que poner barra-invertida y punto.