25 Units für die Prüfung von Identifikatoren, Nummern und Codes aus Finanz, Logistik, Medien, Behörden und Wissenschaft. Alle Units sind zustandslos und benötigen keine externen Datenbanken — reine Algorithmen.
→ Guides · std.validate Referenz
| Unit | Importpfad | Hauptfunktion | Beschreibung |
|---|---|---|---|
| IBAN | std.validate.iban | IBANValidate(iban) | IBAN nach ISO 13616 (Modulo-97) |
| BIC/SWIFT | std.validate.bic | BICValidate(bic) | BIC-11 / BIC-8 nach ISO 9362 |
| ISIN | std.validate.isin | ISINValidate(isin) | International Securities Identification Number |
| LEI | std.validate.lei | LEIValidate(lei) | Legal Entity Identifier (ISO 17442) |
| US CUSIP | std.validate.us_cusip | USCUSIPValidate(cusip) | US-Wertpapierkennnummer |
| Luhn | std.validate.luhn | LuhnCheckDigit(number) | Luhn-Algorithmus (Kreditkarten, IMEI) |
| Unit | Importpfad | Hauptfunktion | Beschreibung |
|---|---|---|---|
| EAN | std.validate.ean | EAN13CheckDigit(code) | EAN-13 und EAN-8 Barcode |
| ISBN | std.validate.isbn | ISBN13ValidateFull(isbn) | ISBN-10 und ISBN-13 (Bücher) |
| ISMN | std.validate.ismn | ISMNValidate(ismn) | International Standard Music Number |
| ISSN | std.validate.issn | ISSNValidate(issn) | International Standard Serial Number |
| VIN | std.validate.vin | VINValidate(vin) | Fahrzeug-Identifizierungsnummer |
| Unit | Importpfad | Hauptfunktion | Beschreibung |
|---|---|---|---|
| ISO 6346 | std.validate.iso6346 | ContainerValidate(id) | Container-ID (Schifffahrt) |
| UIC | std.validate.uic | UICVehicleValidate(nr) | Eisenbahn-Fahrzeugnummer (UIC) |
| MMSI | std.validate.mmsi | MMSIValidate(mmsi) | Maritime Mobile Service Identity |
| IATA | std.validate.iata | IATATicketValidate(ticket) | IATA-Ticketnummer |
| Unit | Importpfad | Hauptfunktion | Beschreibung |
|---|---|---|---|
| ISRC | std.validate.isrc | ISRCValidate(isrc) | International Standard Recording Code |
| Unit | Importpfad | Hauptfunktion | Beschreibung |
|---|---|---|---|
| CAS | std.validate.cas | CASValidate(cas) | Chemical Abstracts Service Registry Number |
| ORCID | std.validate.orcid | ORCIDValidate(orcid) | Open Researcher and Contributor ID |
| EWC | std.validate.ewc | EWCValidate(code) | European Waste Catalogue (Gefahrgut) |
| Unit | Importpfad | Hauptfunktion | Beschreibung |
|---|---|---|---|
| US SSN | std.validate.us_ssn | USSSNValidate(ssn) | US Social Security Number |
| NL BSN | std.validate.nl_bsn | NLBSNValidate(bsn) | Niederländische Bürgerservicenummer |
| CH AHV | std.validate.ch_ahv | CHAHVValidate(ahv) | Schweizer AHV-Nummer |
| DE Nummern | std.validate.de_numbers | DEPZNValidate(pzn) | Deutsche PZN (Pharmazentralnummer) |
| DE Personal | std.validate.de_personal | DEIDCardValidate(mrz1, mrz2) | Deutscher Personalausweis (MRZ) |
| VAT | std.validate.vat | VATValidate(vat) | Europäische Umsatzsteuer-ID |
import std.validate.iban;
fn checkIBAN(iban: pchar): int64 {
// Normalisiert automatisch (Leerzeichen entfernen, Großbuchstaben):
var normalized: int64 := IBANNormalize(iban as int64);
var rc: int64 := IBANValidate(normalized);
// rc: 0 = gültig, -1 = ungültig
return rc;
}
import std.validate.ean;
var barcode: pchar := "590123412345"c; // 12 Stellen ohne Prüfziffer
var check: int64 := EAN13CheckDigit(barcode as int64);
// check = erwartete Prüfziffer (0–9)
import std.validate.vin;
import std.alloc;
var vin: pchar := "1HGCM82633A004352"c;
var rc: int64 := VINValidate(vin as int64);
if rc == 0 {
// Hersteller ausgeben:
var mfr: int64 := alloc(64);
VINGetManufacturer(vin as int64, mfr);
free(mfr, 64);
}
import std.validate.luhn;
var number: pchar := "4532015112830366"c;
var check: int64 := LuhnCheckDigit(number as int64);
// Vollständige Karte: Nummer + Prüfziffer muss Luhn-konform sein
var valid: int64 := LuhnValidate(number as int64);
import std.validate.iban;
import std.validate.bic;
import std.validate.vat;
fn validateBankForm(iban: pchar, bic: pchar, vat: pchar): int64 {
var ibanOK: int64 := IBANValidate(IBANNormalize(iban as int64));
var bicOK: int64 := BICValidate(bic as int64);
var vatOK: int64 := VATValidate(vat as int64);
if ibanOK != 0 { return -1; } // IBAN ungültig
if bicOK != 0 { return -2; } // BIC ungültig
if vatOK != 0 { return -3; } // VAT ungültig
return 0;
}
Alle Validate-Funktionen folgen der Lyx-Fehlerkonvention:
| Rückgabe | Bedeutung |
|---|---|
| 0 | Gültig |
| -1 | Ungültig (Prüfsumme falsch, falsches Format) |
CheckDigit-Funktionen geben die berechnete Prüfziffer zurück (0–9 oder 0–35 je nach Standard).
| Ich will … | Funktion |
|---|---|
| IBAN strukturell + Prüfsumme prüfen | IBANValidate (Modulo-97) |
| Kreditkartennummer prüfen | LuhnValidate |
| Barcode generieren/prüfen | EAN13CheckDigit / EAN8CheckDigit |
| Fahrzeughersteller aus VIN | VINGetManufacturer + VINValidate |
| Chemische Substanz identifizieren | CASValidate |
| Personalausweis (DE) MRZ prüfen | DEIDCardValidate |
| Containernummer auf Schiff prüfen | ContainerValidate |
| Europäische USt-ID prüfen | VATValidate |
Letzte Aktualisierung: 2026-06-08