RegEx Validierung: Cheatsheet der häufigsten Regulären Ausdrücke zur Validierung (+ Anleitung)

regex-validation-list

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:

RegEx Validator

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! 🙂

Ähnliche Beiträge
Beteilige dich an der Unterhaltung

1 Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

bold italic underline strikeThrough
insertOrderedList insertUnorderedList outdent indent
removeFormat
createLink unlink
code

Das könnte dich auch interessieren