Skip to content

Instantly share code, notes, and snippets.

@keepjhonnying
Created February 23, 2023 00:18
Show Gist options
  • Save keepjhonnying/27ef2e5974114c14231074fde89b5582 to your computer and use it in GitHub Desktop.
Save keepjhonnying/27ef2e5974114c14231074fde89b5582 to your computer and use it in GitHub Desktop.
Melhor regex para validação de padrão de endereço de e-mail
const emailRegexp = /^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
/*
Essa expressão regular é utilizada para validar se uma string é um endereço de email válido.
Aqui está a explicação dos diversos elementos da expressão:
^ - Âncora para o início da string.
( - Grupo de captura.
( - Grupo de captura aninhado.
[^<>()[\]\.,;:\s@\"]+ - Um ou mais caracteres que não são <, >, (, ), [, ], ,, ., ;, :, espaço, nem aspas.
(\.[^<>()[\]\.,;:\s@\"]+)* - Zero ou mais vezes uma sequência que começa com um ponto seguido de um ou mais caracteres que não são <, >, (, ), [, ], ,, ., ;, :, espaço, nem aspas.
) - Fim do grupo de captura aninhado.
| - Operador lógico "ou".
\".+\" - Uma sequência de caracteres entre aspas duplas.
) - Fim do grupo de captura.
@ - Caractere "@".
( - Grupo de captura.
[^<>()[\]\.,;:\s@\"]+\. - Um ou mais caracteres que não são <, >, (, ), [, ], ,, ., ;, :, espaço, nem aspas, seguidos por um ponto.
)+ - O grupo de captura acima uma ou mais vezes.
[^<>()[\]\.,;:\s@\"]{2,} - Dois ou mais caracteres que não são <, >, (, ), [, ], ,, ., ;, :, espaço, nem aspas.
$ - Âncora para o fim da string.
/i - Sufixo para indicar que a expressão deve ser aplicada sem diferenciar maiúsculas de minúsculas.
Em resumo, a expressão regular divide o endereço de email em duas partes: a parte antes do "@" e a parte depois do "@". A primeira parte pode conter letras, números, pontos e traços, mas não pode começar nem terminar com ponto. A segunda parte pode conter letras e pontos, mas deve ter pelo menos dois caracteres após o último ponto.
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment