Validieren Sie eine International Bank Account Number offline: Ländercode, Registerlänge und ISO-7064-MOD-97-10-Prüfsumme, plus eine geparste Aufschlüsselung und Druckformatierung.
Ist diese Kontonummer strukturell gültig? Fügen Sie eine IBAN mit oder ohne Leerzeichen ein. Die Prüfung läuft vollständig in Ihrem Browser: Ländercode gegen das SWIFT-Register, Gesamtlänge, dann die ISO-7064-MOD-97-10-Prüfsumme.
Land
–
Prüfziffern
–
BBAN
–
Länge
–
Wie IBAN-Validierung tatsächlich funktioniert
Eine nationale Kontonummer mit einer Hülle
Eine IBAN ist keine neue Art von Kontonummer. Es ist die vorhandene nationale Kontonummer, genannt BBAN, mit vier Zeichen vorne angesetzt: ein zweibuchstabiger ISO-3166-Ländercode und zwei Prüfziffern. Alles nach diesen vier Zeichen ist das, was das nationale Bankensystem bereits verwendete – daher variiert die Länge so stark. Eine norwegische IBAN ist 15 Zeichen lang und eine maltesische 31, und beide sind völlig korrekt.
Diese Variabilität ist der erste echte Validierungsschritt, und der, den die meisten am häufigsten überspringen. Jedes Land registriert eine exakte Gesamtlänge bei SWIFT, und die Länge ist festgelegt und keine Maximalgrenze. Eine deutsche IBAN ist immer 22 Zeichen. Wenn Sie eine 21-stellige Zeichenfolge erhalten, die mit DE beginnt, ist sie falsch, egal was die Prüfsumme sagt, denn eine Vertauschung, die die Zeichenfolge verkürzt, kann von einer Prüfsumme nicht erkannt werden, die das fehlende Zeichen nie sieht. Die Ländercode-Länge zuerst zu prüfen liefert auch eine weit nützlichere Fehlermeldung als ein generischer Prüfsummenfehler.
Die MOD-97-10-Prüfsumme
Die Prüfsumme stammt aus ISO 7064 und ist elegant einfach. Verschieben Sie die ersten vier Zeichen ans Ende, ersetzen Sie jeden Buchstaben durch eine Zahl, wobei A 10 bis Z 35 ist, und lesen Sie das Ganze als eine riesige Ganzzahl. Wenn diese Ganzzahl bei der Division durch 97 genau den Rest 1 lässt, besteht die IBAN die Prüfung.
Der Haken ist, dass die resultierende Zahl weit größer ist als der native Ganzzahltyp jeder Sprache, oft achtzig Stellen oder mehr. Anstatt zu einer Bignum-Bibliothek zu greifen, reduzieren Implementierungen sie stückweise: gehen Sie die Zeichenfolge von links nach rechts durch und behalten Sie nach jeder Ziffer nur den laufenden Wert modulo 97. Da sich die modulare Arithmetik über die zeichenweise Konstruktion verteilt, ist der finale Rest identisch mit dem, den Sie aus der vollständigen Zahl erhalten würden, und das kostet einen einzigen Durchlauf ohne Speicherallokation. Genau das tut dieses Werkzeug.
MOD 97-10 wurde gewählt, weil es für eine zweistellige Prüfung ungewöhnlich stark ist. Es erkennt jede Einzelzeichen-Ersetzung, jede Vertauschung zweier benachbarter Zeichen und die überwältigende Mehrheit längerer Verschlüsselungen. Die Fehlermodi, die es nicht sehen kann, sind selten genug, dass das verbleibende Risiko vom schlicht nicht existierenden Konto dominiert wird.
Was eine gültige IBAN Ihnen nicht sagt
Strukturelle Gültigkeit ist keine Existenz. Eine prüfsummenkorrekte IBAN kann auf ein geschlossenes Konto, ein Konto, das nie eröffnet wurde, oder eine Bank verweisen, die seitdem fusioniert wurde. Der einzige Weg zu wissen, dass Geld ankommt, ist, die Überweisung zu versuchen oder einen bankseitigen Verifizierungsdienst zu nutzen. Behandeln Sie die Validierung als Möglichkeit, Tippfehler bei der Eingabe abzufangen, nicht als Bestätigung, dass ein Zahlungsempfänger echt ist.
Auch die Formatierung verdient Sorgfalt. Das Register definiert die elektronische Form als eine unterbrochene Zeichenfolge ohne Leerzeichen, und das ist, was Sie in einer Zahlungsdatei senden oder in einer Datenbank speichern müssen. Die in Vierergruppen gegliederte Form dient nur dem Druck auf Papier, wo sie Menschen hilft, lange Zeichenfolgen korrekt zu kopieren. Normalisieren Sie bei der Eingabe, speichern Sie flach und fügen Sie die Leerzeichen nur für die Anzeige wieder hinzu.
Häufig gestellte Fragen
Bedeutet eine gültige Prüfsumme, dass das Konto existiert?
Nein. Die Prüfsumme beweist nur, dass die Zeichenfolge intern konsistent ist, also nichts falsch getippt oder vertauscht wurde. Das Konto dahinter kann geschlossen sein oder nie existiert haben. Nur die empfangende Bank kann bestätigen, dass eine IBAN aktiv ist.
Warum haben IBANs unterschiedliche Längen?
Weil der Teil nach den ersten vier Zeichen die vorhandene nationale Kontonummer des Landes ist, und diese wurden national standardisiert, lange bevor es IBAN gab. Jedes Land registrierte seine eigene feste Länge bei SWIFT, von 15 Zeichen in Norwegen bis 32 in Saint Lucia.
Sollte ich eine IBAN mit Leerzeichen speichern?
Nein. Speichern Sie die elektronische Form, das ist eine durchgehende Zeichenfolge ohne Leerzeichen oder Interpunktion, und das ist auch, was Zahlungssysteme erwarten. Das Layout in Vierergruppen ist rein eine Druckkonvention, also fügen Sie es beim Rendern hinzu und entfernen es bei der Eingabe.
Was ist der BBAN-Teil?
Die Basic Bank Account Number, also alles nach Ländercode und Prüfziffern. Ihre interne Struktur ist länderspezifisch und kodiert oft eine Bankkennung, einen Filialcode und die Kontonummer, manchmal mit einer eigenen nationalen Prüfziffer.
Wird meine IBAN an einen Server gesendet?
Nein. Sowohl die Längensuche als auch die MOD-97-10-Berechnung laufen in Ihrem Browser, und die Seite führt keine Netzwerkanfrage mit Ihrer Eingabe aus. Sie können die Verbindung trennen und das Werkzeug funktioniert trotzdem.
Warum schlägt meine IBAN fehl, obwohl sie die richtige Zeichenanzahl hat?
Fast immer ein einzelnes falsch getipptes oder vertauschtes Zeichen. MOD 97-10 erkennt jeden einstelligen Fehler und jede benachbarte Vertauschung, also bedeutet ein Prüfsummenfehler bei korrekter Länge, dass ein Zeichen nicht hingehört. Lesen Sie die Quelle erneut, besonders dort, wo 0 und O oder 1 und I leicht zu verwechseln sind.