de nada!
agora, o que usaste foi:
if (!preg_match("/^( [a-zA-Z0-9] )+( [a-zA-Z0-9\._-] )*@( [a-zA-Z0-9_-] )+( [a-zA-Z0-9\._-] +)+$/" , $email)) {
preg_match - Faz uma comparação de expressões
eregi - mais ou menos a mesma coisa mas case insensitive
basicamente vão comparar uma variável com uma expressão definida. Se estiverem ok, devolve true. Senão devolve falso.
Se usarmos:
if (!preg_match(bla bla){
e o resultado for true, vai executar o que está entre {}.
a expressão... bem, tentando simplificar:
("/^( [a-zA-Z0-9] )+( [a-zA-Z0-9\._-] )*@( [a-zA-Z0-9_-] )+( [a-zA-Z0-9\._-] +)+$/" , $email
^( [a-zA-Z0-9] )+( [a-zA-Z0-9\._-] - tem que começar com letras/numeros, mas pode ter \._- se não forem o primeiro caractere; quando pomos [a-z], é a mesma coisa que por [abcdefg...]. Com [a-z], fica a sequência toda de
a até
z. O mesmo se reflecte nos números (por ex: [3-9]);
*@ - primeiro separador. tem que ter obrigatoriamente
@. agora é outra expressão;
( [a-zA-Z0-9_-] )+( [a-zA-Z0-9\._-] +) - a mesma coisa de trás
;
, $email - a variável com que vão comparar.
é daquelas fórmulas já um pouco avançadas, pelo que existem formas mais simples de fazer isto... mas muito mais extensas...
mais info -->
aqui <--