Dies ist eine alte Version des Dokuments!
function checkIBAN( ElementName )
{
var elements = document.getElementsByName( ElementName );
var Anz = elements.length, i = 0; mod = 0;
var IBAN = "", letter = "", block = "";
for( i=1;i<Anz;i++ ) // vom 2. bis zum letzten Block
IBAN += elements[i].value; // zu einer Zahl zusammenfassen
IBAN += elements[0].value; // erster Block als letzter anfügen
for( i=0; i<=26;i++ ) // für jeden Buchstaben im Alphabet einen Schleifendurchlauf
{
letter = String.fromCharCode( 65+ i ); // Buchstabe vom ASCII-Code ermitteln
IBAN = IBAN.replace( letter, String( i+10 ) ); // Buchstabe gegen Zahl ersetzen
}
var Length = IBAN.length; // neue Länge des IBAN ermitteln (wurde durch 2stellige Zahlen länger)
for( i=0; i<=Length; i=i+9 ) // Hilfsmethode für die Berechnung der Prüfziffer (9er-Blöcke)
{
if( mod == 0 ) // im 1. Durchgang 9 Zeichen ziehen
block = IBAN.substr( i, 9 );
else if( mod < 10 ) // bei einstelligem Restwert die nächsten 8 Zeichen ziehen
{
block = String( mod ) + IBAN.substr( i, 8 );
i--; // Position um 1 Zeichen nach vorne verschieben
}
else // bei zweistelligem Restwert nur noch 7 Zeichen ziehen
{
block = String( mod ) + IBAN.substr( i, 7 );
i=i-2; // Position um 2 Zeichen nach vorne verschieben
}
mod = block % 97; // Restwert ermitteln
}
if( mod == 1 ) // sofern die Prüfziffer korrekt ist muss der Restwert 1 ergeben
return true;
else
alert( "Die IBAN ist ungültig!" );
return false; // wird nur erreicht, wenn Script oben nicht mit 'true' beendet wird
}