######################################################## # Funktionen fuer die Umwandlung und Verifizierung von IBAN/BIC # Fragen/Kommentare bitte auf http://donauweb.at/online-marketing-blog/2013/07/25/iban-und-bic-statt-konto-und-blz/ ######################################################## ######################################################## # BLZ und BIC in AT: http://www.conserio.at/bankleitzahl/ # BLZ und BIC in DE: http://www.bundesbank.de/Redaktion/DE/Standardartikel/Kerngeschaeftsfelder/Unbarer_Zahlungsverkehr/bankleitzahlen_download.html ######################################################## ######################################################## # Funktion zur Plausibilitaetspruefung einer IBAN-Nummer, gilt fuer alle Laender # Das Ganze ist deswegen etwas spannend, weil eine Modulo-Rechnung, also eine Ganzzahl-Division mit einer # bis zu 38-stelligen Ganzzahl durchgefuehrt werden muss. Wegen der meist nur zur Verfuegung stehenden # 32-Bit-CPUs koennen mit PHP aber nur maximal 9 Stellen mit allen Ziffern genutzt werden. # Deshalb muss die Modulo-Rechnung in mehere Teilschritte zerlegt werden. # http://www.michael-schummel.de/2007/10/05/iban-prufung-mit-php ######################################################## function test_iban( $iban ) { $iban = str_replace( ' ', '', $iban ); $iban1 = substr( $iban,4 ) . strval( ord( $iban{0} )-55 ) . strval( ord( $iban{1} )-55 ) . substr( $iban, 2, 2 ); for( $i = 0; $i < strlen($iban1); $i++) { if(ord( $iban1{$i} )>64 && ord( $iban1{$i} )<91) { $iban1 = substr($iban1,0,$i) . strval( ord( $iban1{$i} )-55 ) . substr($iban1,$i+1); } } $rest=0; for ( $pos=0; $pos