Created
February 23, 2023 00:18
-
-
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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