std.validate.de_personal

Deutsche Personalkennzeichen: Maschinenlesbare Zone (MRZ) aus Reisepässen und Personalausweisen, Steueridentifikationsnummer (Steuer-ID), Rentenversicherungsnummer (RVNR) und eGK-Versichertennummer (gesetzliche Krankenversicherung).

std.validate · std.validate.de_numbers


Konstanten

Name Wert Bedeutung
DE_PERS_OK 0 Gültig
DE_PERS_ERR_INVALID_LENGTH 1 Falsche Länge
DE_PERS_ERR_INVALID_CHAR 2 Ungültiges Zeichen
DE_PERS_ERR_INVALID_CHECK 3 Falsche Prüfziffer
DE_PERS_ERR_INVALID_FORMAT 4 Format entspricht nicht dem Standard

Verwendung

import std.validate.de_personal;

// Steuer-ID (11 Stellen)
var taxId: pchar := "81872495633";
if (DESteuerIDValidate(taxId) = DE_PERS_OK) {
    log_info("Steuer-ID gültig");
}

// Rentenversicherungsnummer (RVNR)
var rvnr: pchar := "65070193J001";
if (DERVNRValidate(rvnr) = DE_PERS_OK) {
    log_info(DERVNRGetGeburtsdatum(rvnr));  // "01.07.1965"
    log_info(DERVNRGetGeschlecht(rvnr));    // "M" oder "W"
}

// eGK-Versichertennummer
var egk: pchar := "A123456780";
if (DEEGKValidate(egk) = DE_PERS_OK) {
    log_info("eGK-Nummer gültig");
}

// MRZ-Zeile aus Reisepass prüfen (44 Zeichen, Zeile 2)
var mrz: pchar := "L898902C36UTO7408122F1204159ZE184226B<<<<<10";
if (DEMRZValidateLine(mrz) = DE_PERS_OK) {
    log_info(DEMRZGetPassnummer(mrz));      // "L898902C3"
    log_info(DEMRZGetGeburtsdatum(mrz));   // "740812"
    log_info(DEMRZGetAblaufdatum(mrz));    // "120415"
}


Funktionen

Signatur Sichtbarkeit Beschreibung
DESteuerIDValidate(id: pchar): int64 pub Steueridentifikationsnummer (11 Stellen) validieren
DERVNRValidate(rvnr: pchar): int64 pub Rentenversicherungsnummer validieren
DERVNRGetGeburtsdatum(rvnr: pchar): pchar pub Geburtsdatum aus RVNR extrahieren (TT.MM.JJJJ)
DERVNRGetGeschlecht(rvnr: pchar): pchar pub Geschlecht aus RVNR extrahieren („M“ oder „W“)
DERVNRGetBereichsnummer(rvnr: pchar): pchar pub Bereichsnummer des Rentenversicherungsträgers extrahieren
DEEGKValidate(nr: pchar): int64 pub eGK-Versichertennummer (10 Stellen, Luhn) validieren
DEMRZValidateLine(mrz: pchar): int64 pub MRZ-Zeile (Zeile 2 des Reisepasses, 44 Zeichen) validieren
DEMRZGetPassnummer(mrz: pchar): pchar pub Passnummer aus MRZ-Zeile 2 extrahieren
DEMRZGetGeburtsdatum(mrz: pchar): pchar pub Geburtsdatum aus MRZ (JJMMTT) extrahieren
DEMRZGetAblaufdatum(mrz: pchar): pchar pub Ablaufdatum des Dokuments aus MRZ extrahieren
DEMRZGetNationalitaet(mrz: pchar): pchar pub Nationalität (3-Buchstaben-Code) aus MRZ extrahieren

Letzte Aktualisierung: 2026-05-23