std.validate.isin

ISIN (International Securities Identification Number, ISO 6166) identifiziert Wertpapiere weltweit eindeutig. Die Prüfung erfolgt über den Luhn-Algorithmus auf einer erweiterten Ziffernkette, bei der Buchstaben als zweistellige Zahlen kodiert werden (A=10, B=11 …). Das Format ist: 2-Buchstaben-Länderkürzel + 9-stelliger nationaler Code + 1 Prüfziffer.

std.validate · std.validate.luhn · std.validate.lei


Konstanten

Name Wert Bedeutung
ISIN_OK 0 Gültig
ISIN_ERR_INVALID_LENGTH 1 Länge ≠ 12
ISIN_ERR_INVALID_CHAR 2 Ungültiges Zeichen
ISIN_ERR_INVALID_COUNTRY 3 Unbekanntes Länderkürzel
ISIN_ERR_INVALID_CHECK 4 Falsche Prüfziffer

Verwendung

import std.validate.isin;

var isin: pchar := "DE0005140008";  // Deutsche Bank
var result: int64 := ISINValidate(isin);
if (result = ISIN_OK) {
    log_info(ISINGetCountry(isin));      // "DE"
    log_info(ISINGetNasin(isin));        // "0005140008" (nationaler Code)
    log_info(ISINFormat(isin));          // "DE0005140008" (normalisiert)
}

// Prüfziffer berechnen
var check: int64 := ISINCheckDigit("DE000514000");  // gibt 8 zurück


Funktionen

Signatur Sichtbarkeit Beschreibung
ISINValidate(isin: pchar): int64 pub ISIN vollständig validieren; gibt ISIN_OK oder Fehlercode zurück
ISINCheckDigit(isin: pchar): int64 pub Prüfziffer für 11-stelligen ISIN-Stamm berechnen
ISINGetCountry(isin: pchar): pchar pub Zweistelliges Länderkürzel extrahieren
ISINGetNasin(isin: pchar): pchar pub Nationalen Wertpapiercode (NSIN, 9 Stellen) extrahieren
ISINNormalize(isin: pchar): pchar pub ISIN normalisieren (Leerzeichen entfernen, Großbuchstaben)
ISINFormat(isin: pchar): pchar pub ISIN formatieren (z.B. „DE0005140008“)

Letzte Aktualisierung: 2026-05-23