Outro dia, um colega de trabalho me mostrou a seguinte Regexp para validar um e-mail em um código PHP
([\._0-9A-Za-z-]+)@([0-9A-Za-z-]+)(\.[0-9A-Za-z\.]+)
Olhando rapidamente, está funcional… Mas se tivermos um olho clínico melhor, ela vai casar strings como
.gunfree@gmail.com
gunfree@gmail.com.
.g.u.n.f.r.e.e.@a.b.c.d
Então refiz a expressão para evitar estes casos:
^([a-zA-Z)([\._0-9A-Za-z-]+)@([0-9A-Za-z-]+)(\.[0-9A-Za-z]+)(\.[A-Za-z][A-Za-z0-9]+)?$
Edição 02:02.2007: Se for usar PHP, use a classe http://www.phpclasses.org/browse.html/package/13.html