Benutzer-Werkzeuge

Webseiten-Werkzeuge


js_checkiban

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Both sides previous revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
js_checkiban [2017/08/31 22:32]
webproducer
js_checkiban [2018/05/01 00:00] (aktuell)
Zeile 2: Zeile 2:
  
 <file javascript checkIBAN.js>​ <file javascript checkIBAN.js>​
-function checkIBAN( ​ElementName ​)+function checkIBAN( ​IBAN )
 { {
- var elements = document.getElementsByName( ElementName ); +    let mod = 0; 
- var Anz = elements.length,​ i = 0; mod = 0; +    ​let ​letter = ""​
- var IBAN = "", ​letter = ""​block = "";​+    let block = "";​
  
- fori=1;​i<​Anz;​i++ ) // vom 2. bis zum letzten Block +    IBAN = IBAN.replace(/ /g, ''​); // alle Leerzeichen entfernen
- IBAN += elements[i].value; // zu einer Zahl zusammenfassen+
  
- IBAN +elements[0].value; // erster Block als letzter anfügen+    part1 IBAN.substr( ​0, 4 ); // ersten 4 Zeichen 
 +    part2 = IBAN.substr( 4 ); // alle anderen Zeichen
  
- for( i=0; i<​=26;​i++ ) // für jeden Buchstaben im Alphabet einen Schleifendurchlauf +    ​IBAN = part2 part1; // erster Block als letzter anfügen
-+
- 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( a=65; a<=90; a++ ) // für jeden Buchstaben im Alphabet einen Schleifendurchlauf 
 +    { 
 +        letter = String.fromCharCode( a ); // Buchstabe vom ASCII-Code ​ermitteln 
 +        regexp = new RegExpletter, '​g' ​); // Parameter "​g"​ = global match: find all mateches 
 +        IBAN = IBAN.replace( regexp, String( a-55 ) ); // Buchstabe gegen Zahl ersetzen 
 +    }
  
- for( i=0; i<=Length; i=i+9 ) // Hilfsmethode für die Berechnung der Prüfziffer (9er-Blöcke)  +    let Length = IBAN.length; // neue Länge des IBAN ermitteln ​(wurde durch 2stellige Zahlen länger)
-+
- 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.substri, 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 +    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 
 +        }
  
- if( mod == 1 ) // sofern die Prüfziffer korrekt ist muss der Restwert ​1 ergeben +        ​mod = block % 97; // Restwert ​ermitteln 
- return true; +    }
- else +
- alert( "Die IBAN ist ungültig!"​ ); +
  
- return false; // wird nur erreicht, wenn Script oben nicht mit '​true'​ beendet wird+    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
 } }
 </​file>​ </​file>​
js_checkiban.1504211568.txt.gz · Zuletzt geändert: 2017/08/31 00:00 (Externe Bearbeitung)