In Javascript. Das kann über jede Browser Konsole geschehen.
ZB in Google Chrome via F12 oder das Menu die Entwickler Tools öffnen, dann "Console" anwählen und nachstehend Code hineinkopieren und ENTER.
Danach können die Funktionen laut Beschreibung aufgerufen werden.
/**
EAN13 Hilfsfunktionen
(copyright) 2022 ETRON Software
Verwendung:
Liste von EANs generieren, Startwert und Anzahl:
> generateEans(100000000000, 5)
-> ['1000000000009', '1000000000016', '1000000000023', '1000000000030']
Liste von EANs im CSV Format ausgeben.
Der String kann direkt nach Excel kopiert, bzw in .csv Datei abgespeichert werden
> generateEanCsv(100000000000, 5)
Prüfen eines EAN13:
> isEanOK('1000000000009')
-> True
> isEanOK('1000000000007')
-> False
Einzelne Prüfzahl generieren:
> addCheckDigit(10000000000)
-> '1000000000009'
*/
function addCheckDigit(ean) {
ean = `${ean}`
if (ean.length != 12) {
throw('Bitte EAN13 ohne Prüfziffer angeben, 12 Stellen erwartet!')
}
let checkDigit = (10 - `${ean}0`.split('').reduce(reduceHelper, 0) % 10) % 10
return `${ean}${checkDigit}`
}
function isEanOK(ean) {
ean = `${ean}`
return ean.split('').reduce(reduceHelper, 0) % 10 == 0 &&
ean.length == 13
}
function generateEans(start, count) {
let eans = []
for (let i=0; i<count; i++) {
eans.push(addCheckDigit(start+i))
}
return eans
}
function generateEanCsv(start, count) {
let csv = `"${generateEans(start, count).join('";\n"')}";\n`
copy(csv)
console.log(csv)
console.log("CSV String erstellt, in Zwischenablage kopiert")
return csv
}
function reduceHelper(p,v,i) {
return i % 2 == 0 ? p + 1 * v : p + 3 * v
}