Benutzer-Werkzeuge

Webseiten-Werkzeuge


js_checkiban

IBAN mit JavaScript validieren

checkIBAN.js
function checkIBAN( IBAN )
{
    let mod = 0;
    let letter = "";
    let block = "";
 
    IBAN = IBAN.replace(/ /g, ''); // alle Leerzeichen entfernen
 
    part1 = IBAN.substr( 0, 4 ); // ersten 4 Zeichen
    part2 = IBAN.substr( 4 ); // alle anderen Zeichen
 
    IBAN = part2 + part1; // erster Block als letzter anfügen
 
    for( a=65; a<=90; a++ ) // für jeden Buchstaben im Alphabet einen Schleifendurchlauf
    {
        letter = String.fromCharCode( a ); // Buchstabe vom ASCII-Code ermitteln
        regexp = new RegExp( letter, 'g' ); // Parameter "g" = global match: find all mateches
        IBAN = IBAN.replace( regexp, String( a-55 ) ); // Buchstabe gegen Zahl ersetzen
    }
 
    let 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
}
js_checkiban.txt · Zuletzt geändert: 2018/05/01 00:00 (Externe Bearbeitung)