Validação de endereços de e-mail.
Validar
- JavaScript, biblioteca
- Python, biblioteca13 casos falham
- Go, biblioteca13 casos falham
- Ruby, biblioteca7 casos falham
- Rust, biblioteca11 casos falham
- .NET, biblioteca7 casos falham
- Erlang, biblioteca
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 dexn--, 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@localhoste 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.isValidsegue o padrão da API do DICT, que é mais amplo em alguns pontos: aceitafulano@example,a@localhostea{b}@example.com, que esta função rejeita.
| Parâmetro | Tipo | Obrigatório |
|---|---|---|
value | string | sim |
| retorna | boolean |
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/javascriptTeste com JavaScript isValidEmail
Casos de teste compartilhados (51) e o resultado em cada biblioteca email.isValid
Fontes oficiais
Veja também Chave Pix
Atualizado em
