Inhaltsverzeichnis

std.validate.issn

ISSN (International Standard Serial Number, ISO 3297) identifiziert periodische Veröffentlichungen (Zeitschriften, Zeitungen, Schriftenreihen) weltweit eindeutig. Format: 4 Ziffern + Bindestrich + 3 Ziffern + 1 Prüfzeichen (0–9 oder X). Die Prüfziffer wird über ein gewichtetes Mod-11-Verfahren berechnet.

std.validate · std.validate.isbn


Konstanten

Name Wert Bedeutung
ISSN_OK 0 Gültig
ISSN_ERR_INVALID_LENGTH 1 Länge ≠ 8 (ohne Bindestrich)
ISSN_ERR_INVALID_CHAR 2 Ungültiges Zeichen
ISSN_ERR_INVALID_CHECK 3 Falsche Prüfziffer

Verwendung

import std.validate.issn;

// Mit oder ohne Bindestrich
var issn: pchar := "0317-8471";
var result: int64 := ISSNValidate(issn);
if (result = ISSN_OK) {
    log_info(ISSNFormat(ISSNNormalize(issn)));  // "0317-8471"
}

// Prüfziffer berechnen
var check: pchar := ISSNCheckDigit("031784");  // gibt "1" zurück
                                               // (X bei Wert 10)

// ISSN → EAN-13 (Präfix 977 + ISSN-ohne-Check + 2 + EAN-Check)
var ean: pchar := ISSNToEAN13(issn);


Funktionen

Signatur Sichtbarkeit Beschreibung
ISSNValidate(issn: pchar): int64 pub ISSN validieren (mit oder ohne Bindestrich)
ISSNNormalize(issn: pchar): pchar pub Bindestrich und Leerzeichen entfernen
ISSNFormat(issn: pchar): pchar pub ISSN mit Bindestrich formatieren („XXXX-XXXX“)
ISSNCheckDigit(issn: pchar): pchar pub Prüfzeichen für 7-stelligen Stamm berechnen („0“–„9“ oder „X“)
ISSNToEAN13(issn: pchar): pchar pub ISSN in EAN-13 (Präfix 977) konvertieren

Letzte Aktualisierung: 2026-05-23