====== std.validate ====== Validierungseinheiten für internationale Nummernformate: Barcodes, Bankkonten, Wertpapiere, Fahrzeugkennzeichen, Publikationen, Sozialversicherungsnummern und mehr. Alle Units folgen dem gleichen Muster: Normalisierung → Validierung → Fehlercode. → [[lyx_-_programmiersprache:units|Standard Library]] ---- ===== Basis ===== ^ Unit ^ Beschreibung ^ | [[lyx_-_programmiersprache:units:validate:ean|std.validate.ean]] | EAN-8, EAN-13, EAN-14, UPC-A Barcode-Validierung und Prüfzifferberechnung | | [[lyx_-_programmiersprache:units:validate:iban|std.validate.iban]] | IBAN-Validierung (ISO 13616), Mod-97, über 30 Länder | | [[lyx_-_programmiersprache:units:validate:isbn|std.validate.isbn]] | ISBN-10, ISBN-13, ISSN-Validierung und gegenseitige Konvertierung | | [[lyx_-_programmiersprache:units:validate:luhn|std.validate.luhn]] | Luhn-Algorithmus, Kreditkarten, IMEI, deutsche Steuer-ID | | [[lyx_-_programmiersprache:units:validate:vat|std.validate.vat]] | EU-Umsatzsteuer-ID (VAT) für alle 26 Mitgliedstaaten | ---- ===== Deutsche Nummern ===== ^ Unit ^ Beschreibung ^ | [[lyx_-_programmiersprache:units:validate:de_personal|std.validate.de_personal]] | MRZ, Steuer-ID, Rentenversicherungsnummer (RVNR), eGK-Versichertennummer | | [[lyx_-_programmiersprache:units:validate:de_numbers|std.validate.de_numbers]] | PZN (Arzneimittel), WKN (Wertpapiere), AGS (Gemeindeschlüssel), Zählpunktbezeichnung | ---- ===== Internationale Wertpapiere & Finanz ===== ^ Unit ^ Beschreibung ^ | [[lyx_-_programmiersprache:units:validate:isin|std.validate.isin]] | ISIN (ISO 6166) — weltweite Wertpapierkennung, Luhn auf erweiterter Ziffernkette | | [[lyx_-_programmiersprache:units:validate:lei|std.validate.lei]] | LEI (ISO 17442) — Legal Entity Identifier, Mod-97 wie IBAN | | [[lyx_-_programmiersprache:units:validate:bic|std.validate.bic]] | BIC/SWIFT-Code (ISO 9362) — strukturelle Bankidentifikation | | [[lyx_-_programmiersprache:units:validate:us_cusip|std.validate.us_cusip]] | CUSIP — US/kanadische Wertpapierkennung, gewichtetes Mod-10 | ---- ===== Fahrzeuge & Transport ===== ^ Unit ^ Beschreibung ^ | [[lyx_-_programmiersprache:units:validate:vin|std.validate.vin]] | VIN/FIN (FMVSS 565, ISO 3779) — Fahrzeugidentifikationsnummer, Mod-11 | | [[lyx_-_programmiersprache:units:validate:iso6346|std.validate.iso6346]] | ISO 6346 — Schiffscontainer-Nummer, Zweierpotenzen Mod-11 | | [[lyx_-_programmiersprache:units:validate:uic|std.validate.uic]] | UIC-Fahrzeugnummer — Eisenbahnfahrzeuge, Luhn Mod-10 | | [[lyx_-_programmiersprache:units:validate:iata|std.validate.iata]] | IATA-Ticketnummer und Air Waybill — Mod-7 | | [[lyx_-_programmiersprache:units:validate:mmsi|std.validate.mmsi]] | MMSI — Seefunk-Identifikation, ITU MID strukturell | ---- ===== Wissenschaft & Publikationen ===== ^ Unit ^ Beschreibung ^ | [[lyx_-_programmiersprache:units:validate:issn|std.validate.issn]] | ISSN (ISO 3297) — Zeitschriften, Mod-11 | | [[lyx_-_programmiersprache:units:validate:ismn|std.validate.ismn]] | ISMN (ISO 10957) — Notendrucke, EAN-13-Profil Präfix 9790 | | [[lyx_-_programmiersprache:units:validate:isrc|std.validate.isrc]] | ISRC (ISO 3901) — Tonaufnahmen, strukturell CC-XXX-YY-NNNNN | | [[lyx_-_programmiersprache:units:validate:orcid|std.validate.orcid]] | ORCID iD — Wissenschaftler-ID, ISO/IEC 7064 MOD 11-2 | | [[lyx_-_programmiersprache:units:validate:cas|std.validate.cas]] | CAS-Nummer — chemische Verbindungen, rechtsseitig gewichtetes Mod-10 | ---- ===== Länderspezifisch ===== ^ Unit ^ Beschreibung ^ | [[lyx_-_programmiersprache:units:validate:nl_bsn|std.validate.nl_bsn]] | NL BSN (Burgerservicenummer) — 9-Proef Mod-11 | | [[lyx_-_programmiersprache:units:validate:ch_ahv|std.validate.ch_ahv]] | CH AHV-Nummer — EAN-13 Mod-10, Präfix 756 | | [[lyx_-_programmiersprache:units:validate:us_ssn|std.validate.us_ssn]] | US SSN (Social Security Number) — strukturell, bekannte Muster ausgeschlossen | | [[lyx_-_programmiersprache:units:validate:ewc|std.validate.ewc]] | EWC/AVV-Abfallschlüssel — EU-Abfallkatalog, strukturell | ---- ===== Gemeinsames Muster ===== import std.validate.iban; // 1. Normalisieren (Leerzeichen/Trennzeichen entfernen) var norm: pchar := IBANNormalize("DE89 3704 0044 0532 0130 00"); // 2. Validieren (gibt 0 = OK, >0 = Fehlercode) var result: int64 := IBANValidate(norm); // 3. Fehlercode auswerten if (result = IBAN_OK) { log_info(IBANFormat(norm)); } if (result = IBAN_ERR_INVALID_CHECK) { log_error("Prüfziffer falsch"); } Letzte Aktualisierung: 2026-05-23