Loading

Validação comum do REGEX

Data da publicação: Mar 8, 2021
Descrição

Dicas para validações de campo frequentemente solicitadas que utilizam a função REGEX().

 

Resolução
Nota: Na tabela a seguir, "_" denota um espaço opcional (o REGEX aceitará com ou sem o espaço)
DescriçãoFormatosValidação
Número de telefone dos Estados Unidos (sem extensão)(999)_999-9999
+1_(999)_999-9999
!REGEX(Phone,"^((\\+1)?\\s?\\(\\d{3}\\)\\s?\\d{3}\\-\\d{4})?$")
Número de telefone dos Estados Unidos (com extensão)Os formatos acima, mais:
(999)_999-9999_x999…
(999)_999-9999_Ext._999…
(999)_999-9999_ext:_999…
(qualquer comprimento de extensão)
Aceita: ou . após ext ou x e aceita +1 antes do número.
!REGEX(Phone,"^((\\+1)?\\s?\\(\\d{3}\\)\\s?\\d{3}\\-\\d{4})(\\s?(x|([Ee]xt[\\.:]?\\s?))\\d+)?)?$")
Número de segurança social999-99-9999!REGEX(Social_Security_Number__c,"^(\\d{3}\\-\\d{2}-\\d{4})?$"
Código postal dos Estados Unidos (5 dígitos)12345!REGEX(PostalCode,"^\\d{5}?$")
Código postal dos Estados Unidos (5 ou 9 dígitos)12345
12345-6789
!REGEX(PostalCode,"^(\\d{5}(\\-\\d{4})?)?$")
Número de telefone do Brasil (sem extensão)(99)_9999-9999
(99)_99999-9999
+55 (99)_9999-9999
+55 (99)_99999-9999
!REGEX(Phone,"^((\\+\\d{2}\\s)?\\(\\d{2}\\)\\s?\\d{4}\\d?\\-\\d{4})?$")
Número de telefone do Brasil (com extensão)Os formatos acima, além dos seguintes:
[telefone igual aos números acima] ramal: 999…
[telefone igual aos números acima] ramal 999…
!REGEX(Phone,"^((\\+\\d{2}\\s)?\\(\\d{2}\\)\\s?\\d{4}\\d?\\-\\d{4}(\\sramal:?\\s\\d+)?)?$")
CNPJ brasileiro (ID fiscal comercial)99.999.999/9999-99!REGEX(CNPJ__c,"^(\\d{2}\\.\\d{3}\\.\\d{3}/\\d{4}\\-\\d{2})?$")
Código postal do Brasil (5 ou 8 dígitos)99999-999
99999
!REGEX(PostalCode,"^(\\d{5}(\\-\\d{3})?)?$")
CPF brasileiro999.999.999-99!REGEX(CPF__c,"^(\\d{3}\\.\\d{3}\\.\\d{3}\\-\\d{2})?$")
Número de telefone do Japão (sem extensão)

99-9999-9999
999-999-9999
9999-99-9999
9999-999-999

!REGEX(Phone,"^[0-9]{2,4}-[0-9]{2,4}-[0-9]{3,4}$")

Código postal do Japão ("-" é obrigatório)

999-9999

!REGEX(PostalCode,"^[0-9]{3}-[0-9]{4}$")

Código postal do Japão (com ou sem "-")

999-9999
9999999

!REGEX(PostalCode,"^([0-9]{3}-[0-9]{4})?$|^[0-9]{7}+$")

Capitalização de título de palavras e nomes
Cobre todos os acentos listados no regex e a capitalização de título (primeira letra capitalizada, o resto das palavras em minúsculas), exceto palavras especiais (em alguns idiomas), como da, de, di, do e o prefixo d'.
Smith
John de Souza
Rio de Janeiro
Brasília
d'Onofrio
di Lorenço
!REGEX(FirstName, "^((^|\\s)(((([DdO]')|Mc|Mac)?[A-ZÃÁÂÀÄÇÉÈÊËÍÌÎÏÕÒÔÓÖÛÚÙÜ][a-zãáàâäçéèêëíìîïñõôóòöûúùü]*)|(da|de|di|do)))*$")
Evite que os usuários insiram uma quebra de linha em um campo de texto que suporta várias linhas. ¹
REGEX( ShippingStreet , '(.*\r?\n.*)*')
Permita um máximo de três linhas em um campo de texto que suporta várias linhas. ¹
REGEX( ShippingStreet , '(.*\r?\n.*){3,}')
 
  1. Ao editar um campo, dependendo de como você edita e do seu navegador, somente uma nova linha é inserida ( ' \n ' ), ou um retorno de carro ( ' \r ' ) e uma alimentação de linha ( ' \n ' ). Portanto, é necessário checar se há ou não um retorno de carro ( ' \r? ' ), seguido de uma alimentação de linha ( ' \n ' ).

Recursos adicionais

Operadores de fórmula e funções I–Z: REGEX
Documentação do Java RegEx
Número do artigo do Knowledge

000386675

 
Carregando
Salesforce Help | Article