std.validate.isbn

ISBN (International Standard Book Number) identifiziert Bücher weltweit eindeutig. Bis 2007 wurden 10-stellige ISBN-10-Codes verwendet, seitdem der 13-stellige EAN-basierte ISBN-13-Standard. Die Unit validiert beide Formate, prüft Prüfziffern und ermöglicht die gegenseitige Konvertierung (ISBN-10 ↔ ISBN-13). Zusätzlich wird ISSN für Zeitschriften und Serien unterstützt.

std.validate · std.validate.ean


Imports

  • std.validate.ean

Konstanten

Name Wert Bedeutung
ISBN_OK 0 Gültig
ISBN_ERR_INVALID_LENGTH 1 Falsche Länge
ISBN_ERR_INVALID_CHAR 2 Ungültiges Zeichen
ISBN_ERR_INVALID_CHECK 3 Falsche Prüfziffer
ISBN_ERR_INVALID_PREFIX 4 Kein gültiges ISBN-13-Präfix (978/979)
ISBN_ERR_CANNOT_CONVERT 5 Konvertierung nicht möglich

Verwendung

import std.validate.isbn;

// ISBN-13 validieren
var isbn13: pchar := "9783866801929";
var r: int64 := ISBN13ValidateFull(isbn13);
if (r = ISBN_OK) {
    log_info(ISBN13Format(isbn13));  // "978-3-86680-192-9"
}

// ISBN-10 validieren und nach ISBN-13 konvertieren
var isbn10: pchar := "3866801920";
if (ISBN10ValidateFull(isbn10) = ISBN_OK) {
    var as13: pchar := ISBN10To13(isbn10);  // "9783866801929"
    log_info(ISBN13Format(as13));
}

// ISSN validieren
var issn: pchar := "1234-5679";
if (ISSNValidate(issn) = ISBN_OK) {
    log_info(ISSNFormat(ISSNNormalize(issn)));  // "1234-5679"
}

// Typ erkennen
var t: int64 := ISBNDetectType("3866801920");  // 10


Funktionen

Signatur Sichtbarkeit Beschreibung
ISBN13ValidateFull(isbn: pchar): int64 pub ISBN-13 vollständig validieren (Länge, Zeichen, Prüfziffer)
ISBN10ValidateFull(isbn: pchar): int64 pub ISBN-10 vollständig validieren
ISBNDetectType(isbn: pchar): int64 pub ISBN-Typ erkennen; gibt 10 oder 13 zurück
ISBNNormalize(isbn: pchar): pchar pub Trennzeichen (Bindestriche, Leerzeichen) aus ISBN entfernen
ISBN13CheckDigit(isbn: pchar): int64 pub Prüfziffer für 12-stelligen ISBN-13-Stamm berechnen
ISBN10CheckDigitFull(isbn: pchar): int64 pub Prüfziffer für 9-stelligen ISBN-10-Stamm berechnen
ISBN10To13(isbn10: pchar): pchar pub ISBN-10 in ISBN-13 konvertieren
ISBN13To10(isbn13: pchar): pchar pub ISBN-13 in ISBN-10 konvertieren (nur Präfix 978)
ISBN13Format(isbn: pchar): pchar pub ISBN-13 mit Bindestrichen formatieren (z.B. „978-3-86680-192-9“)
ISBN10Format(isbn: pchar): pchar pub ISBN-10 mit Bindestrichen formatieren
ISSNValidate(issn: pchar): int64 pub ISSN-Zeitschriftennummer validieren
ISSNNormalize(issn: pchar): pchar pub Trennzeichen aus ISSN entfernen
ISSNCheckDigit(issn: pchar): int64 pub Prüfziffer für 7-stelligen ISSN-Stamm berechnen
ISSNFormat(issn: pchar): pchar pub ISSN mit Bindestrich formatieren (z.B. „1234-5679“)

Letzte Aktualisierung: 2026-05-22