Como validar Email e Senha em JavaScript

O endereço de email além de ser utilizado para a comunicação, em vários  sites, aplicativos mobile e softwares desktop, também se utiliza o email para o cadastro e login de usuários. Um endereço de email é composto em sua primeira parte de um nome, com letras de (a – z), números de (0 – 9) e pontos (.). Na maioria dos provedores de email que pesquisei, eles seguem este padrão não permitindo espaços e nem caracteres especiais na primeira parte do email.

Um provedor de email é uma entidade, que pode ser uma empresa ou mesmo uma pessoa com seu próprio servidor, que  fornece o serviço de envio e recebimento de emails. O envio e recebimento de emails, deve seguir às RFCs dos protocolos qual o serviço de emails utiliza, como POP3, IMAP e SMTP.

Após a primeira parte temos o @ arroba que divide o endereço de email. Na segunda parte temos o nome do domínio. O domínio é um nome único utilizado para identificação na internet. Com o domínio conseguimos localizar e acessar servidores, sem precisar digitar o endereço IP do mesmo. Veja o artigo Registros DNS. O que um desenvolvedor WEB precisa saber, nele eu falo um pouco mais sobre domínio.

Junto com o email de login, geralmente é realizado o cadastro de uma senha para o acesso ao sistema em questão. Uma senha normalmente pode conter qualquer caractere, mas é uma boa prática de segurança, exigir um mínimo de complexidade em uma senha cadastrada. Assim vamos validar uma senha com letras maiúsculas e minúsculas, números, caracteres especiais e o mínimo de 8 dígitos.

Algoritmo em JavaScript

A função abaixo, recebe uma string email, e realiza sua verificação e retorna true para um email válido e false para um email inválido.

function validaEmail(email) {
  const emailRegex =  /^([a-zA-Z][^<>\"!@[\]#$%¨&*()~^:;ç,\-´`=+{}º\|/\\?]{1,})@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
  return emailRegex.test(String(email).toLowerCase())
}

A função acima utiliza uma Expressão Regular para fazer a validação do email. RegEx (Expressão regular) são muito úteis na programação, em breve farei um artigo aprofundado sobre elas. Agora na próxima função, vamos verificar se a senha bate com a regra de caracteres maiúsculos e minúsculos, caracteres especiais, números e 8 a 20 caracteres.

A função abaixo, recebe uma string senha e realiza sua verificação e retorna true para uma senha válida e false para uma senha inválida.

function validaSenha(senha) {
  const senhaRegex = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\s).{8,20}$/
  return senhaRegex.test(String(senha))
}

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *