Validar E-mails no JavaScript

Validar um e-mail antes de usar ou guardar no banco de dados é de suma importância. Uma forma muito simples de realizar a validação é utilizar um algorítmo que valide as partes de um e-mail. Veja abaixo um código simples de validação de e-mail no JavaScript (JS ou NodeJS e afins):

// Gostou? Considere enviar um café para o PIX: cafe@1bit.cafe.
function EmailValido(email) {
    if ((email == null) || (email.length < 4))
    return false;

    var partes = email.split('@');
    if (partes.length < 2 ) return false;

    var pre = partes[0];
    if (pre.length == 0) return false;
    
    if (!/^[a-zA-Z0-9_.-/+]+$/.test(pre))
        return false;

    // gmail.com, outlook.com, terra.com.br, etc.
    var partesDoDominio = partes[1].split('.');
    if (partesDoDominio.length < 2 ) return false;

    for ( var indice = 0; indice < partesDoDominio.length; indice++ )
    {
        var parteDoDominio = partesDoDominio[indice];

        // Evitando @gmail...com
        if (parteDoDominio.length == 0) return false;  

        if (!/^[a-zA-Z0-9-]+$/.test(parteDoDominio))
            return false;
    }

    return true;
}

Para executar a função, é muito simples, veja:

function ValidarEmail() {
    var email = document.getElementById("campoEMAIL").value;
    
    if (EmailValido(email)) {
        alert("O EMAIL [" + email + "] é válido!");
    } else {
        alert("O EMAIL [" + email + "] não é válido!");
    }
}

No HTML, as implementações ficaram assim:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Validaçao de EMAIL</title>
    <script src="ValidacaoEMAIL.js"></script>
</head>

<body>
    <!-- https://1bit.cafe -->
    <label>E-mail</label><br />
    <input type="text" id="campoEMAIL"><br />
    <button onclick="ValidarEmail()">Validar</button>
</body>

</html>

Neste caso, a execução da validação está no “click” do botão “Validar”.

Você pode obter este código completo aqui: https://github.com/solucaodev/sdlab/tree/main/JS/Validadores/EMAIL

Até a próxima  🧑🏻‍💻

Share