std.validate.uic

UIC-Fahrzeugnummer (Internationaler Eisenbahnverband) — 12-stellige Nummer zur eindeutigen Identifikation von Eisenbahnfahrzeugen in Europa. Die Prüfziffer an Position 12 wird über den Luhn-Mod-10-Algorithmus berechnet. Enthält kodiert: Fahrzeuggruppe, Betriebsland, Gattungsmerkmal und Seriennummer.

std.validate · std.validate.luhn


Konstanten

Name Wert Bedeutung
UIC_OK 0 Gültig
UIC_ERR_INVALID_LENGTH 1 Länge ≠ 12
UIC_ERR_INVALID_CHAR 2 Ungültige Zeichen (nur Ziffern erlaubt)
UIC_ERR_INVALID_CHECK 3 Falsche Prüfziffer

Verwendung

import std.validate.uic;

// UIC-Nummer (mit oder ohne Leerzeichen/Bindestriche)
var uic: pchar := "56 80 22-70 001-7";
var norm: pchar := UICNormalize(uic);  // "568022700017"

var result: int64 := UICValidate(norm);
if (result = UIC_OK) {
    log_info(UICGetGattung(norm));      // "56" (Fahrzeuggruppe)
    log_info(UICGetLaendercode(norm));  // "80" (Deutschland)
    log_info(UICGetSeriennummer(norm)); // "22700017"
}


Funktionen

Signatur Sichtbarkeit Beschreibung
UICValidate(nr: pchar): int64 pub UIC-Fahrzeugnummer validieren
UICNormalize(nr: pchar): pchar pub Leerzeichen und Bindestriche entfernen
UICCheckDigit(nr: pchar): int64 pub Prüfziffer für 11-stelligen Stamm berechnen
UICGetGattung(nr: pchar): pchar pub 2-stellige Fahrzeuggruppenkennung extrahieren
UICGetLaendercode(nr: pchar): pchar pub 2-stelligen Ländercode extrahieren
UICGetSeriennummer(nr: pchar): pchar pub 8-stellige Seriennummer extrahieren
UICFormat(nr: pchar): pchar pub UIC-Nummer mit Leerzeichen formatieren

Letzte Aktualisierung: 2026-05-23