RegEx Validierung: Cheatsheet der häufigsten Regulären Ausdrücke zur Validierung (+ Anleitung)
Zur Validierung von Benutzereingaben werden häufig Reguläre Ausdrücke verwendet. Diese wiederholen sich bei der Überprüfung gleicher Eingaben. Daher habe ich dir hier eine Liste mit den wichtigsten RegEx Strings erstellt.
Speicher‘ dir diesen Artikel einfach ab und kopiere dir den entsprechenden Regulären Ausdruck einfach in dein nächstes Projekt wo du es eben benötigst.
Für alle RegEx Validierungen gibt es unendlich viele Möglichkeiten in der Umsetzung. Die hier gezeigten habe ich alle ausführlich getestet.
Um Reguläre Ausdrücke einfacher zu testen und nicht in Trial and Error zu laufen gibt es verschiedene Tools online. Meinen Lieblings RegEx Validator habe ich dir hier verlinkt:
Datum & Uhrzeit validieren
Datum im Format YYYMMDD (0-9999 Jahre)
(?<!\d)(?:(?:(?:1[6-9]|[2-9]\d)?\d{2})(?:(?:(?:0[13578]|1[02])31)|(?:(?:0[1,3-9]|1[0-2])(?:29|30)))|(?:(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))0229)|(?:(?:1[6-9]|[2-9]\d)?\d{2})(?:(?:0?[1-9])|(?:1[0-2]))(?:0?[1-9]|1\d|2[0-8]))(?!\d)
Datum im Format YYYY-MM-DD
^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$
Datum im Format DD.MM.YYYY (ohne führende Nullen)
^[0-3]?[0-9][\/.][0-3]?[0-9][\/.](?:[0-9]{2})?[0-9]{2}$
Datum im Format DD.MM.YYYY (mit führenden Nullen)
^[0-3][0-9][\/.][0-3][0-9][\/.](?:[0-9][0-9])?[0-9][0-9]$
Datum im Format M/D/YYYY
^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$
Uhrzeit im Format HH:MM (24 Stunden Format)
^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$
Uhrzeit im Format HH:MM:SS (24 Stunden Format)
^([0-1]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$
Uhrzeit im Format HH:MM (12 Stunden Format)
^(0?[1-9]|1[0-2]):[0-5][0-9]$
Uhrzeit im Format HH:MM:SS (12 Stunden Format)
^(0?[1-9]|1[0-2]):[0-5][0-9]:[0-5][0-9]$
Uhrzeit im Format H:MM AM/PM
^((1[0-2]|0?[1-9]):([0-5][0-9]) ?([AaPp][Mm]))$
Uhrzeit im Format H:MM:SS AM/PM
^((1[0-2]|0?[1-9]):([0-5][0-9]):([0-5][0-9]) ?([AaPp][Mm]))$
Passwort validieren
Nur Zahlen und Buchstaben (mindestens 8 Zeichen)
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$
Zahlen, Groß- und Kleinbuchstaben (mindestens 12 Zeichen)
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&#\^]{12,}$
Telefonnummern & Handynummern validieren
Erkennt die meisten gängigen Formate (verschiedene Länder)
(\(?([\d \-\)\–\+\/\(]+)\)?([ .\-–\/]?)([\d]+))
E-Mail Adresse validieren
Nur E-Mail Adressen von bestimmten Domains (hier *@gmail.com und @hotmail.com)
^([\w\-\.]+@(?!gmail.com)(?!hotmail.com)([\w\- ]+\.)+[\w-]{2,4})?$
Für alle Domains
^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$
URL validieren
Nur URLs mit FTP Protokoll
^(ftp:\/\/)[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$
Standard URLs (nur in folgendem Format: http(s)://example.com/ , inklusive Ports)
^(http:\/\/|https:\/\/)[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$
Alle möglichen URL Formate (inklusive IP-Adressen und Anker)
^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$
Implementierung in verschiedenen Programmiersprachen
Die Validierung in verschiedenen Programmiersprachen sieht immer etwas unterschiedlich aus. Im groben ist sie jedoch identisch.
In allen Beispielen ersetzt du einfach die Variable regex
durch einen der obigen und der stringToValidate
sollte einen String mit der jeweiligen Nutzereingabe enthalten.
RegEx Validierung in JavaScript
let stringToValidate = "ZH*EnD?vv9Xf&y8"; // e.g. value from a textarea let regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&#\^]{12,}$/; // attention: no quotes! if (stringToValidate.match(regex)) { // valid input } else { // invalid input }
RegEx Validierung in PHP
$stringToValidate = "ZH*EnD?vv9Xf&y8"; $regex = "/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&#\^]{12,}$/"; // attention: add a slash at the begin and the end if (preg_match($regex, $stringToValidate)) { // valid input } else { // invalid input }
RegEx Validierung in Java
String stringToValidate = "ZH*EnD?vv9Xf$y8"; String regex = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&#\\^]{12,}$"; if (stringToValidate.matches(regex)) { // valid input } else { // invalid input }
Welche Validierung fehlt hier noch? Schreib mir gern einen Kommentar! 🙂
Wie fandest du diesen Beitrag?
-
Pingback: TOP 20 VSCode Extensions, um deine Produktivität zu steigern!