Loading

Gängige REGEX-Validierung

Veröffentlichungsdatum: Mar 8, 2021
Beschreibung

Tipps für die häufig geforderte Feldvalidierung, die die Funktion REGEX() verwendet.

 

Lösung
Hinweis: In der folgenden Tabelle steht „_“ für ein optionales Leerzeichen (REGEX akzeptiert es mit oder ohne Leerzeichen)
BeschreibungFormateValidierung
Amerikanische Telefonnummer (ohne Durchwahl)(999)_999-9999
+1_(999)_999-9999
!REGEX(Phone,"^((\\+1)?\\s?\\(\\d{3}\\)\\s?\\d{3}\\-\\d{4})?$")
Amerikanische Rufnummer (mit Durchwahl)Die oben genannten Formate plus:
(999)_999-9999_x999...
(999)_999-9999_Ext._999...
(999)_999-9999_ext:_999...
(beliebige Länge der Durchwahl)
Akzeptiert : oder . nach ext oder x, und akzeptiert +1 vor der Nummer.
!REGEX(Phone,"^((\\+1)?\\s?\\(\\d{3}\\)\\s?\\d{3}\\-\\d{4})(\\s?(x|([Ee]xt[\\.:]?\\s?))\\d+)?)?$")
Sozialversicherungsnummer999-99-9999!REGEX(Social_Security_Number__c,"^(\\d{3}\\-\\d{2}-\\d{4})?$"
Amerikanische Postleitzahl (5-stellig)12345!REGEX(PostalCode,"^\\d{5}?$")
Amerikanische Postleitzahl (5- oder 9-stellig)12345
12345-6789
!REGEX(PostalCode,"^(\\d{5}(\\-\\d{4})?)?$")
Brasilianische Telefonnummer (ohne Durchwahl)(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})?$")
Brasilianische Rufnummer (mit Durchwahl)Die oben genannten Formate plus die folgenden:
[Telefon wie oben] ramal: 999…
[Telefon wie oben] ramal 999…
!REGEX(Phone,"^((\\+\\d{2}\\s)?\\(\\d{2}\\)\\s?\\d{4}\\d?\\-\\d{4}(\\sramal:?\\s\\d+)?)?$")
Brasilianische CNPJ (Gewerbesteuer-ID)99.999.999/9999-99!REGEX(CNPJ__c,"^(\\d{2}\\.\\d{3}\\.\\d{3}/\\d{4}\\-\\d{2})?$")
Brasilianische Postleitzahl (5- oder 8-stellig)99999-999
99999
!REGEX(PostalCode,"^(\\d{5}(\\-\\d{3})?)?$")
Brasilianischer CPF999.999.999-99!REGEX(CPF__c,"^(\\d{3}\\.\\d{3}\\.\\d{3}\\-\\d{2})?$")
Japanische Telefonnummer (ohne Durchwahl)

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}$")

Japanische Postleitzahl („-“ ist erforderlich)

999-9999

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

Japanische Postleitzahl (mit oder ohne „-“)

999-9999
9999999

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

Title Case-Wörter und Namen
Deckt alle in der Regex aufgeführten Akzente ab und erzwingt Title Case (erster Buchstabe groß, der Rest klein) mit Ausnahme von speziellen Wörtern (in einigen Sprachen), da, de, di, do und dem Präfix 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)))*$")
Verhindern, dass Benutzer einen Zeilenumbruch in ein Textfeld eingeben, das mehrere Zeilen unterstützt. ¹
REGEX( ShippingStreet , '(.*\r?\n.*)*')
Maximal drei Zeilen in einem Textfeld erlauben, das mehrere Zeilen unterstützt. ¹
REGEX( ShippingStreet , '(.*\r?\n.*){3,}')
 
  1. Beim Bearbeiten eines Feldes wird je nach Art der Bearbeitung und Ihres Browser entweder nur ein Zeilenvorschub (\n ) oder ein Carriage Return (\r ) und ein Zeilenvorschub (\n) eingefügt. Daher müssen wir prüfen, ob es keinen oder einen Carriage Return (\r? ), gefolgt von einem Zeilenvorschub (\n) gibt.

Weitere Ressourcen

Formeloperatoren und Funktionen I-Z : REGEX
Java RegEx Dokumentation
Nummer des Knowledge-Artikels

000386675

 
Laden
Salesforce Help | Article