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 🧑🏻💻