Avatar ·

Como verificar e-mail corretamente em JavaScript: validação com expressões regulares e muito mais

Olá a todos! Sou novo em JavaScript e estou escrevendo um formulário de registro para meu primeiro projeto. Preciso verificar se o usuário digitou um e-mail válido antes de enviar ao servidor. Tentei escrever uma verificação simples usando `includes('@')`, mas claramente não é confiável — o usuário pode digitar "test@test" ou "123@@@". Alguém pode me orientar sobre como validar e-mail corretamente? Aqui está o que tentei: ```javascript function validateEmail(email) { if (email.includes('@') && email.includes('.')) { return true; } return false; } console.log(validateEmail('test@test')); // true — mas isso não é um e-mail válido console.log(validateEmail('@.com')); // true — também é inválido ``` Ouvi dizer que é necessário usar expressões regulares (RegExp), mas elas são um mistério para mim. Por favor, expliquem de forma simples: como escrever um regex correto para e-mail, quais caracteres são permitidos e o que fazer com domínios de nível superior (TLD) como .museum ou .travel? Preciso validar o e-mail no servidor se eu