Regex für UK-Postleitzahl

Mit /^[A-Z]{1,2}\d[A-Z\d]? ?\d[A-Z]{2}$/i prüfst du, ob ein ganzer String eine gültige UK-Postleitzahl ist. Jedes Beispiel unten wurde mit diesem Muster getestet, und du kannst es mit den vorgeladenen Beispielen im Regex Tester öffnen.

Aktualisiert am

/^[A-Z]{1,2}\d[A-Z\d]? ?\d[A-Z]{2}$/i
Im Regex Tester öffnen
EingabeErgebnis
SW1A 1AA✓ Treffer
M1 1AE✓ Treffer
B33 8TH✓ Treffer
cr2 6xh✓ Treffer
12345✗ Kein Treffer
SW1A1A✗ Kein Treffer
SW1A 1A1✗ Kein Treffer

So funktioniert das Muster

TeilBedeutung
[A-Z]{1,2}Postleitzahlbereich: ein bis zwei Buchstaben
\d[A-Z\d]?Bezirk: eine Ziffer, optional gefolgt von einem Buchstaben oder einer Ziffer
?Optionales Leerzeichen
\d[A-Z]{2}Innencode: eine Ziffer und zwei Buchstaben
i flagGroß- und Kleinschreibung wird ignoriert

Code-Beispiele

JavaScript

const re = /^[A-Z]{1,2}\d[A-Z\d]? ?\d[A-Z]{2}$/i;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'[A-Z]{1,2}\d[A-Z\d]? ?\d[A-Z]{2}', value, re.I))

PHP

preg_match('/^[A-Z]{1,2}\d[A-Z\d]? ?\d[A-Z]{2}$/i', $value) === 1;

Hinweise und Einschränkungen

Dies prüft die Form einer Postleitzahl, nicht ob sie tatsächlich existiert. Normalisiere sie beim Speichern auf Großbuchstaben mit einem einzelnen Leerzeichen vor den letzten drei Zeichen.

Häufige Fragen

Wie lautet der Regex für UK-Postleitzahlen?
/^[A-Z]{1,2}\d[A-Z\d]? ?\d[A-Z]{2}$/i — das Muster passt auf den gesamten String. Die Tabelle oben erklärt, was jeder Teil macht.
Welche Beispiele passen?
Von den getesteten Beispielen passen diese: SW1A 1AA, M1 1AE, B33 8TH, cr2 6xh. Die anderen nicht.
Wie teste ich diesen Regex?
Klicke auf „Im Regex Tester öffnen“ — Muster, Flags und Beispieltext werden automatisch geladen, und Treffer werden beim Bearbeiten markiert.