Hola,
Después de casi dos años revivió este hilo.
Respecto de la expresión regular
keyboy, bueno, tengo que decir que no la hice yo. Me limité a copiarla de algún sitio, probablemente. Igual que esta que se usa en esta función, que es la que vengo utilizando para validar direcciones de correo actualmente:
Código PHP:
function EmailAddress($input){
$pattern = "/^([a-z0-9+_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,6}\$/i";
return preg_match($pattern, $input);
}
Me doy cuenta de que ahí ya se tiene en cuenta el "final" ($) al que haces referencia. Veo, sin embargo, que sigue usándose un "{2,6}" para limitar el rango de caracteres del, cómo se llama... el sufijo del dominio, ".com", por ejemplo. Ignoro ahora mismo si, efectivamente, este rango puede ser limitado. Igual que antes, esta expresión regular debí cogerla "de por ahí"... (salud para su autor).
Supongo que en esto también habría que llegar a un compromiso. Aunque, si de verdad existiera una "sintaxis" para las direcciones de correo... igual podría lograrse la expresión regular perfecta. Si esto es así, que no lo pongo en duda, me pregunto porqué hay tantas entonces...