E-mail

Validação de endereços de e-mail.

  • Matriz de paridade

Validar

Valida um endereço de e-mail: um subconjunto prático do "valid e-mail address" do WHATWG HTML.

  • Parte local: letras, dígitos e _'+-., sem ponto no início ou no fim, sem apóstrofo no fim e sem dois pontos seguidos, com no máximo 64 caracteres. O endereço inteiro tem no máximo 254 caracteres (RFC 5321, seção 4.5.3.1). Até a 2.4.0 não havia limite em nenhum dos dois.
  • Domínio: pelo menos um ponto, rótulos de até 63 caracteres que não começam nem terminam com hífen, o último rótulo com 2 a 63 letras ou um rótulo punycode (xn--, até 63 caracteres, então [email protected] é válido). Um rótulo punycode sem nada depois de xn--, terminado em hífen ou com mais de 63 caracteres é rejeitado. Até a 2.4.0 um último rótulo punycode era rejeitado.
  • Partes locais entre aspas, literais de endereço, domínios de um só rótulo como user@localhost e os caracteres de parte local ! # $ % & * = ? ^ { | } ~, a barra e o acento grave são rejeitados, embora o WHATWG permita alguns deles.
  • A verificação ignora maiúsculas e minúsculas. Um valor que não é string é inválido.
  • Uma chave Pix de e-mail não usa esta função. pixKey.isValid segue o padrão da API do DICT, que é mais amplo em alguns pontos: aceita fulano@example, a@localhost e a{b}@example.com, que esta função rejeita.
ParâmetroTipoObrigatório
valuestringsim
retornaboolean

Valida um endereço de e-mail. Um subconjunto prático da definição do HTML da WHATWG.

  • Parte local: letras, dígitos e _'+-., sem ponto no início ou no fim, sem apóstrofo no fim e sem dois pontos seguidos, com no máximo 64 caracteres. O endereço todo é limitado a 254 caracteres (RFC 5321, seção 4.5.3.1); até a 2.4.0 não havia limite em nenhum dos dois.
  • Domínio: pelo menos um ponto, rótulos de até 63 caracteres, rótulo final de 2 a 63 letras ou um rótulo punycode (xn--, até 63 caracteres, então [email protected] é válido).
  • Rejeitados, embora a WHATWG permita alguns: partes locais entre aspas, literais de endereço, domínios de um só rótulo como user@localhost, e os caracteres ! # $ % & * = ? ^ { | } ~, a barra e a crase na parte local.
import { isValidEmail } from '@brazilian-utils/brazilian-utils';

isValidEmail('[email protected]'); // true
isValidEmail('invalid.email'); // false
isValidEmail('[email protected]'); // true (domínio de topo punycode)
isValidEmail('a%[email protected]'); // false (% fica fora do conjunto aceito na parte local)

Fonte: HTML da WHATWG, valid e-mail address e RFC 5322.

Código: brazilian-utils/javascript
Teste com JavaScript isValidEmail
As entradas começam com o primeiro caso compartilhado. Mude uma para ver o novo resultado.

Roda @brazilian-utils/brazilian-utils 2.5.0 no seu navegador.

Casos de teste compartilhados (51) e o resultado em cada biblioteca email.isValid

Fontes oficiais

Veja também Chave Pix

Atualizado em

Nesta página