DEV Community

Cover image for Função de validação de email em PHP
rodrigozan
rodrigozan

Posted on • Originally published at Medium

5 1

Função de validação de email em PHP

Simples, rápido e sem enrolação: validando email em php com expressões regulares.

Validar email é uma das funções mais básicas no dia a dia de um programador. Fazer isso em PHP é simples, utilizando o método preg_match().

Deixo o link do método na documentação oficial do PHP:

O bacana é que você pode usar esta expessão regular em qualquer linguagem, basta adaptar.



/* chamaremos nossa função de validaEmail, e passaremos a variáve $email por parâmetro*/
function validaEmail($email) {}


Enter fullscreen mode Exit fullscreen mode

Vamos trabalhar nosso código de validação dentro da função validaEmail.

Você pode separar o email em três partes: uma para a conta, outra para o domínio e outra para a extensão. Apenas para deixar o código mais legível.



$conta = "/^[a-zA-Z0-9\._-]+@";
$domino = "[a-zA-Z0-9\._-]+.";
$extensao = "([a-zA-Z]{2,4})$/";

// vamos concatenar as variáveis
$pattern = $conta.$domino.$extensao;


Enter fullscreen mode Exit fullscreen mode

Por fim utilizamos o método preg_match(). Ele aceita alguns parâmetros, então passaremos a expressão regular (salva na variável $pattern), o email que será inserido (passado como parâmetro da nossa função validaEmail), e a variável de checagem.

Segundo a documentação do PHP, o método preg_match() Pesquisa em $pattern uma correspondência para a expressão regular fornecida em $email. Se a variável $check for fornecida, ela será preenchido com os resultados da pesquisa.



if (preg_match($pattern, $email, $check))
    return true;
  else
    return false;


Enter fullscreen mode Exit fullscreen mode

Agora podemos usar a função para validar emails de um site, sistema ou aplicação. Na prática seria algo assim:



function validaEmail($email) {
  $conta = "/^[a-zA-Z0-9\._-]+@";
  $domino = "[a-zA-Z0-9\._-]+.";
  $extensao = "([a-zA-Z]{2,4})$/";
  $pattern = $conta.$domino.$extensao;
  if (preg_match($pattern, $email, $check))
    return true;
  else
    return false;
}

// Define uma variável para testar o validador
$input = "meuemail@dominio.com.br";

// Faz a verificação usando a função validaEmail
if (validaEmail($input)) {
  echo "O e-mail inserido é valido!";
} else {
  echo "O e-mail inserido é invalido!";
}


Enter fullscreen mode Exit fullscreen mode

Se preferir visualizar a imagem da função:

Image description

Espero que tenham curtido. Dúvidas e sugestões, só usar o form de comentários :D

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay