std.validate.iban

IBAN (International Bank Account Number, ISO 13616) ist der internationale Standard für Bankkontonummern. Die Prüfung erfolgt über den Mod-97-Algorithmus sowie länderspezifische Längenvorgaben. Die Unit unterstützt über 30 Länder, extrahiert Bankleitzahl und Kontonummer und normalisiert unterschiedliche Schreibweisen (mit/ohne Leerzeichen).

std.validate


Konstanten

Name Wert Bedeutung
IBAN_OK 0 Gültig
IBAN_ERR_INVALID_LENGTH 1 Falsche Länge
IBAN_ERR_INVALID_CHAR 2 Ungültiges Zeichen
IBAN_ERR_INVALID_CHECK 3 Mod-97-Prüfung fehlgeschlagen
IBAN_ERR_UNKNOWN_COUNTRY 4 Unbekanntes Länderkürzel
IBAN_ERR_INVALID_COUNTRY_LENGTH 5 Länge entspricht nicht dem Landesstandard

Verwendung

import std.validate.iban;

var iban: pchar := "DE89370400440532013000";
var result: int64 := IBANValidate(iban);
if (result = IBAN_OK) {
    log_info(IBANGetCountry(iban));          // "DE"
    log_info(IBANGetBankId(iban));           // "37040044"
    log_info(IBANFormat(iban));              // "DE89 3704 0044 0532 0130 00"
}

// Mit Leerzeichen normalisieren
var normalized: pchar := IBANNormalize("DE89 3704 0044 0532 0130 00");
// → "DE89370400440532013000"

// Erwartete Länge für Land
var len: int64 := IBANCountryLength("DE");  // 22


Funktionen

Signatur Sichtbarkeit Beschreibung
IBANValidate(iban: pchar): int64 pub IBAN vollständig validieren; gibt IBAN_OK oder Fehlercode zurück
IBANNormalize(iban: pchar): pchar pub IBAN normalisieren: Leerzeichen und Bindestriche entfernen
IBANFormat(iban: pchar): pchar pub IBAN in Vierergruppen formatieren (z.B. „DE89 3704 …“)
IBANGetCountry(iban: pchar): pchar pub Zweistelliges Länderkürzel aus IBAN extrahieren
IBANGetCountryName(country: pchar): pchar pub Ländername anhand Länderkürzel liefern
IBANCountryLength(country: pchar): int64 pub Erwartete IBAN-Länge für das angegebene Land
IBANGetBankId(iban: pchar): pchar pub Bankleitzahl (BLZ) aus IBAN extrahieren
IBANCalculateCheck(iban: pchar): pchar pub Prüfziffern für IBAN berechnen (ersetzt Positionen 3–4)

Letzte Aktualisierung: 2026-05-22