Prüfen Sie das Postleitzahlenformat nach Land
Postleitzahlen sind kurz, unterscheiden sich aber von Land zu Land erheblich. Diese Funktion nimmt eine Postleitzahl sowie einen zweistelligen Ländercode entgegen und prüft den Wert gegen das jeweilige Standardmuster.
Im Browser ausführen – kostenlos
Sie erhalten eine deterministische Antwort ohne Netzwerkabfrage, Geocodierung oder Adressdatenbank. Damit erkennen Sie vertauschte Buchstaben, fehlende Ziffern und falsche Trennzeichen, bevor Daten in Bestellungen, Versand, Abrechnung oder Kundenakten gelangen. Bei einem nicht unterstützten Ländercode erhalten Sie einen eindeutigen Eingabefehler statt eines unsicheren Ergebnisses.
Prüfen Sie das Format im richtigen Landeskontext
Ohne das Land lässt sich eine Postleitzahl nicht zuverlässig beurteilen. Fünf Ziffern sind in den USA, Frankreich, Deutschland und Spanien üblich, reichen jedoch für Indien, China oder Singapur nicht aus. Kanada wechselt Buchstaben und Ziffern ab, Polen verlangt einen Bindestrich und das Vereinigte Königreich kennt mehrere alphanumerische Formen. Diese Funktion hält die Regeln getrennt und wählt anhand des zweistelligen Ländercodes genau ein Muster aus. Unproblematische äußere Leerzeichen werden entfernt und beim Ländercode wird die Großschreibung nicht vorausgesetzt; die Postleitzahl wird jedoch nicht stillschweigend in einen anderen Wert umgewandelt. Die Antwort enthält den normalisierten Ländercode, die bereinigte Eingabe, das erwartete Format und einen booleschen Prüfwert. Ihre Anwendung kann anhand dieses Wertes entscheiden, während ein Formular bei ungültiger Eingabe die erwartete Form zeigt. Fehlt das Land in der unterstützten Regeltabelle, schlägt die Anfrage eindeutig fehl, anstatt jeden unbekannten Wert als ungültig zu bezeichnen. So wird eine begrenzte Abdeckung nicht zu einer irreführenden Aussage über Ihre Datenqualität.
Verstehen Sie die Aussagekraft einer Formatprüfung
Der Algorithmus prüft die Struktur, nicht die Existenz oder Zustellbarkeit. Ein gültiges Ergebnis bedeutet, dass Zeichen, Länge und Trennzeichen dem für das Land hinterlegten Muster entsprechen. Es bestätigt weder die Vergabe durch einen Postdienst noch die Zugehörigkeit einer Straße oder die Bedienung durch einen Versanddienstleister. Solche Aussagen benötigen aktuelle externe Daten und meistens eine vollständige Anschrift. Diese Grenze ist wichtig: Eine deterministische Formatprüfung ist schnell, privat und wiederholbar, während eine Zustellprüfung ein anderer Dienst mit anderen Datenquellen ist. Führende Nullen bleiben erhalten, weil Postleitzahlen Kennungen und keine Zahlen sind. Senden Sie sie als Zeichenketten, damit etwa französische, italienische oder amerikanische Werte unverändert bleiben. Buchstaben werden in entsprechenden Ländern ohne Beachtung der Großschreibung verglichen; optionale Leerzeichen gelten nur dort, wo sie üblich sind. Satzzeichen werden nicht pauschal entfernt, denn ein Trennzeichen kann in einem Land vorgeschrieben und in einem anderen falsch sein. Die Formatangabe erklärt die erwartete Form, ohne zu behaupten, jede strukturell mögliche Kombination sei tatsächlich vergeben.
Prüfen Sie Daten direkt bei ihrer Erfassung
Am sinnvollsten ist die Prüfung unmittelbar nachdem eine Person das Land gewählt und die Postleitzahl eingegeben hat. Ein Checkout kann sie vor der Bestellung aufrufen, eine Registrierung kann einen wahrscheinlichen Tippfehler vor dem Speichern melden und ein Import kann jeden Datensatz vor der Übernahme in die Kundendatenbank testen. Lassen Sie in interaktiven Formularen den ursprünglichen Wert sichtbar und verwenden Sie das zurückgegebene Format als Hinweis, statt den Text unerwartet zu ersetzen. Speichern Sie bei Stapelverarbeitung den booleschen Wert und das Land an der Zeile, damit fehlerhafte Werte von nicht unterstützten Ländern getrennt bleiben. Die Funktion arbeitet deterministisch und verwendet weder Netzwerk, Zufall, Uhrzeit noch veränderlichen Zustand; dieselbe Eingabe liefert stets dieselbe Antwort. Die API-Automatisierung kostet $0.002 pro abgeschlossener Anfrage, wobei jede geprüfte Postleitzahl ein messbares Element ist. Ein negatives Ergebnis ist eine Aufforderung zur Korrektur, kein Beweis für Betrug oder eine nicht vorhandene Adresse. Ein unbekanntes Land weist auf eine bewusst zu klärende Konfigurations- oder Abdeckungsfrage hin.
Anwendungsfälle
Hinweise im Checkout
Prüfen Sie die Postleitzahl nach der Länderauswahl und zeigen Sie vor dem Versandetikett das nationale Format an.
Qualitätskontrolle für CRM-Importe
Markieren Sie strukturell falsche Postleitzahlen und trennen Sie nicht unterstützte Länder von ungültigen Werten.
Internationale Anmeldeformulare
Wenden Sie passende Regeln für Buchstaben, Ziffern, Länge und Trennzeichen an, ohne in jeder Anwendung eigene reguläre Ausdrücke zu pflegen.
Häufige Fragen
Beweist ein gültiges Ergebnis, dass die Adresse existiert?
Nein. Es bestätigt nur die Struktur für das Land, nicht die tatsächliche Vergabe oder Zustellbarkeit.
Was geschieht bei einem unbekannten Ländercode?
Die Anfrage liefert einen Fehler für ungültige Eingaben. Fehlende Abdeckung wird nie als irreführendes negatives Prüfergebnis ausgegeben.
Sollten Postleitzahlen als Zahlen gesendet werden?
Nein. Verwenden Sie Text, damit führende Nullen, Buchstaben, Leerzeichen und vorgeschriebene Zeichen erhalten bleiben.
Werden Kleinbuchstaben akzeptiert?
Ja, bei alphabetischen Systemen. Auch der Ländercode ist unabhängig von der Großschreibung und wird großgeschrieben zurückgegeben.
Was kostet die Prüfung?
Jede erfolgreich abgeschlossene API-Anfrage kostet $0.002. Fehlerhafte Eingaben werden als Fehler gemeldet.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/data/postal-code-validate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"postal_code":"94105","country_code":"US"}'const res = await fetch("https://api.kit.forhosting.com/data/postal-code-validate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"postal_code": "94105",
"country_code": "US"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/postal-code-validate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"postal_code": "94105",
"country_code": "US"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/postal-code-validate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"postal_code":"94105","country_code":"US"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"postal_code":"94105","country_code":"US"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/postal-code-validate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"postal_code": "94105",
"country_code": "US"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.postal_code_validate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_mb | 25 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |