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)

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
(?<!\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)
(?<!\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)
(?<!\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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$
^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$
^\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)

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
^[0-3]?[0-9][\/.][0-3]?[0-9][\/.](?:[0-9]{2})?[0-9]{2}$
^[0-3]?[0-9][\/.][0-3]?[0-9][\/.](?:[0-9]{2})?[0-9]{2}$
^[0-3]?[0-9][\/.][0-3]?[0-9][\/.](?:[0-9]{2})?[0-9]{2}$

Datum im Format DD.MM.YYYY (mit führenden Nullen)

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
^[0-3][0-9][\/.][0-3][0-9][\/.](?:[0-9][0-9])?[0-9][0-9]$
^[0-3][0-9][\/.][0-3][0-9][\/.](?:[0-9][0-9])?[0-9][0-9]$
^[0-3][0-9][\/.][0-3][0-9][\/.](?:[0-9][0-9])?[0-9][0-9]$

Datum im Format M/D/YYYY

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$
^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$
^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$

Uhrzeit im Format HH:MM (24 Stunden Format)

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$
^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$
^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$

Uhrzeit im Format HH:MM:SS (24 Stunden Format)

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
^([0-1]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$
^([0-1]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$
^([0-1]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$

Uhrzeit im Format HH:MM (12 Stunden Format)

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
^(0?[1-9]|1[0-2]):[0-5][0-9]$
^(0?[1-9]|1[0-2]):[0-5][0-9]$
^(0?[1-9]|1[0-2]):[0-5][0-9]$

Uhrzeit im Format HH:MM:SS (12 Stunden Format)

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
^(0?[1-9]|1[0-2]):[0-5][0-9]:[0-5][0-9]$
^(0?[1-9]|1[0-2]):[0-5][0-9]:[0-5][0-9]$
^(0?[1-9]|1[0-2]):[0-5][0-9]:[0-5][0-9]$

Uhrzeit im Format H:MM AM/PM

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
^((1[0-2]|0?[1-9]):([0-5][0-9]) ?([AaPp][Mm]))$
^((1[0-2]|0?[1-9]):([0-5][0-9]) ?([AaPp][Mm]))$
^((1[0-2]|0?[1-9]):([0-5][0-9]) ?([AaPp][Mm]))$

Uhrzeit im Format H:MM:SS AM/PM

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
^((1[0-2]|0?[1-9]):([0-5][0-9]):([0-5][0-9]) ?([AaPp][Mm]))$
^((1[0-2]|0?[1-9]):([0-5][0-9]):([0-5][0-9]) ?([AaPp][Mm]))$
^((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)

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$

Zahlen, Groß- und Kleinbuchstaben (mindestens 12 Zeichen)

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&#\^]{12,}$
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&#\^]{12,}$
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&#\^]{12,}$

Telefonnummern & Handynummern validieren

Erkennt die meisten gängigen Formate (verschiedene Länder)

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
(\(?([\d \-\)\–\+\/\(]+)\)?([ .\-–\/]?)([\d]+))
(\(?([\d \-\)\–\+\/\(]+)\)?([ .\-–\/]?)([\d]+))
(\(?([\d \-\)\–\+\/\(]+)\)?([ .\-–\/]?)([\d]+))

E-Mail Adresse validieren

Nur E-Mail Adressen von bestimmten Domains (hier *@gmail.com und @hotmail.com)

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
^([\w\-\.]+@(?!gmail.com)(?!hotmail.com)([\w\- ]+\.)+[\w-]{2,4})?$
^([\w\-\.]+@(?!gmail.com)(?!hotmail.com)([\w\- ]+\.)+[\w-]{2,4})?$
^([\w\-\.]+@(?!gmail.com)(?!hotmail.com)([\w\- ]+\.)+[\w-]{2,4})?$

Für alle Domains

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
^[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])?)*$
^[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])?)*$
^[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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
^(ftp:\/\/)[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$
^(ftp:\/\/)[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$
^(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)

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
^(http:\/\/|https:\/\/)[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$
^(http:\/\/|https:\/\/)[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$
^(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)

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$
^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$
^(?: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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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
}
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 }
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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$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
}
$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 }
$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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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
}
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 }
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