std.validate.bic

BIC (Bank Identifier Code) / SWIFT-Code identifiziert Banken im internationalen Zahlungsverkehr (ISO 9362). Die Validierung ist strukturell: 4-Buchstaben-Bankencode + 2-Buchstaben-Ländercode + 2-stelliger Ortsschlüssel + optionaler 3-stelliger Filialcode. Prüfziffern gibt es nicht — gültige Codes sind in der SWIFT-Datenbank registriert.

std.validate · std.validate.iban


Konstanten

Name Wert Bedeutung
BIC_OK 0 Strukturell gültig
BIC_ERR_INVALID_LENGTH 1 Länge muss 8 oder 11 sein
BIC_ERR_INVALID_CHAR 2 Ungültiges Zeichen
BIC_ERR_INVALID_COUNTRY 3 Ungültiges Länderkürzel
BIC_ERR_INVALID_BANKCODE 4 Bankcode enthält keine Buchstaben

Verwendung

unit main;
import std.io;
import std.alloc;
import std.validate.bic;

fn main(): int64 {
    var bic: pchar := "DEUTDEDB"c;          // Deutsche Bank Frankfurt

    var result: int64 := BICValidate(bic);
    if (result == BIC_OK) {
        var buf: int64 := alloc(16);
        BICGetBankCode(bic, buf);  PrintLn(buf as pchar);   // DEUT
        BICGetCountry(bic, buf);   PrintLn(buf as pchar);   // DE
    }

    var norm: int64 := alloc(16);
    BICNormalize("deut de db"c, norm);
    PrintLn(norm as pchar);                                          // DEUTDEDB
    return 0;
}

DEUT
DE
DEUTDEDB

 
Die BICGet*-Funktionen liefern keinen Text, sondern einen Status — das Ergebnis landet im Zielpuffer, den der Aufrufer stellt. Das ist dieselbe Konvention wie bei std.string (→ std.string): Zielpuffer als Argument, Rückgabewert ist die Statusmeldung.

Ältere Fassungen dieser Seite verschachtelten die Aufrufe (log_info(BICGetBankCode(bic))) — das übergibt einen int64 dort, wo ein pchar erwartet wird. Ebenfalls entfallen: BICGetLocation und BICGetBranch existieren nicht; die vorhandenen Funktionen sind BICNormalize, BICValidate, BICGetBankCode, BICGetCountry und BICIsHeadOffice.

Funktionen

Signatur Sichtbarkeit Beschreibung
BICValidate(bic: pchar): int64 pub BIC/SWIFT-Code strukturell validieren
BICNormalize(bic: pchar): pchar pub BIC normalisieren (Leerzeichen entfernen, Großbuchstaben)
BICGetBankCode(bic: pchar): pchar pub 4-stelligen Bankcode extrahieren
BICGetCountry(bic: pchar): pchar pub 2-stelliges Länderkürzel extrahieren
BICGetLocation(bic: pchar): pchar pub 2-stelligen Ortsschlüssel extrahieren
BICGetBranch(bic: pchar): pchar pub 3-stelligen Filialcode extrahieren (leer bei 8-stelligem BIC)
BICIs8Digit(bic: pchar): bool pub Gibt true zurück wenn BIC 8-stellig ist (kein Filialcode)

Letzte Aktualisierung: 2026-05-23