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
