Prüfziffer für Kontonummer

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Prüfziffer für Kontonummer

    ich habe eine Frage,
    ich habe ein Eingabefeld für Bankleitzahl und Kontonummer und würde gerne überprüfen ob das korrekt ist.
    Eine Liste der bestehenden Banken und Bankleitzahl habe ich als Tabelle irgendwie verstehe ich die Berechnung unter
    http://www.bundesbank.de/zahlungsver...berechnung.php
    aber nicht. Kann mir jemand mit einem Beispiel helfen? Danke

  • #2
    Na dann lies die Seite doch mit Verstand... tut mir Leid, aber ich sehe da - abgesehen von viel Arbeit - kein Problem.

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      So verstehe ich die erste Methode:

      Modulus 10, Gewichtung 2, 1, 2, 1, 2, 1, 2, 1, 2
      Testkontonummern: [...] 1501832
      EDIT:

      [...]Prüfziffer (10. Stelle der Kontonummer)[...]
      Wir dürfen die 10. Stelle (ist immer die ganz rechts, bei Bedarf wird von links mit Nullen aufgefüllt) also nicht mit in unsere Rechnungen einbeziehen.


      Die Stellen der Kontonummer sind von rechts nach links mit den Ziffern 2, 1, 2, 1, 2 usw. zu multiplizieren.
      Code:
       1   5   0   1   8   3
       *   *   *   *   *   * 
       1   2   1   2   1   2
       =   =   =   =   =   =
       1  10   0   2   8   6
      Die jeweiligen Produkte werden addiert, [color=red]nachdem jeweils aus den zweistelligen Produkten die Quersumme gebildet wurde (z. B. Produkt 16 = Quersumme 7).[/color]
      Code:
       1  [color=red]10[/color]   0   2   8   6
       |   [color=red]|[/color]   |   |   |   |
       1   [color=red]1[/color]   0   1   7   3
      
       1 + 1 + 0 + 2 + 8 + 6 = 18
      Nach der Addition bleiben außer der [color=red]Einerstelle[/color] alle anderen Stellen unberücksichtigt.
      Code:
      1[color=red]8 => 8[/color]
      Die Einerstelle wird von dem Wert 10 subtrahiert.
      Code:
      10 - 8 = 2
      Das Ergebnis ist die Prüfziffer (10. Stelle der Kontonummer).
      Die 10. Stelle der Kontonummer ist hier auch 2, also ist die Nummer gültig.

      Ergibt sich nach der Subtraktion der Rest 10, ist die Prüfziffer 0.
      Wenn weiter oben z.B. 20 statt 18 rausgekommen wäre, dann hätten wir 10 - 0 rechnen müssen. Weil das Ergebnis 10 ist, hätten wir dann mit der Prüfziffer 0 weiterarbeiten müssen.


      EDIT:
      Ich hatte erst die Prüfziffer nicht abgeschnitten - jetzt geht die Rechnung auch auf
      Zuletzt geändert von Hopka; 20.12.2007, 23:24.
      hopka.net!

      Kommentar


      • #4
        ganz einfacher Fehler

        die 10. Stelle (ganz rechts) ist die Prüfziffer,
        und gehört nicht zu der zu prüfenden Kontonummer !!!

        EDIT:

        nicht editieren, sowas ist unfähr!

        TBT

        Die zwei wichtigsten Regeln für eine berufliche Karriere:
        1. Verrate niemals alles was du weißt!


        PHP 2 AllPatrizier II Browsergame

        Kommentar


        • #5
          kleiner Schnipsel
          PHP-Code:
              function _checkMethod00$_konto$_gew '212121212' ) {
                  
          // vorne Null auffuellen
                  
          if( strlen$_konto ) < 10 ) {
                      
          $_konto str_repeat'0'10 strlen$_konto ) ).$_konto;
                  }
                  
          // relevante Stellen ermitteln
                  
          $relevant substr$_konto09);
                  
          $summe $this->_modulus10ProdQuerSum$relevant$_gew );
                  
          $prf = ( 10 - ( $summe 10 ) ) % 10;
                  if( 
          $_konto[9] == $prf ) {
                      return 
          true;
                  }
                  return 
          false;
              }

              function 
          _checkMethod08$_konto ) {
                  
          //
                  
          if( $_konto 60000 ) {
                      return 
          false;
                  }
                  
          // das selbe wie 00
                  
          return $this->_checkMethod00$_konto'23456789A' );
              }

              function 
          _modulus10ProdQuerSum$_nr$_gew ) {
                  
          $max strlen$_nr ) - 1;
                  
          $summe 0;
                  for( 
          $i=$max$i>=0; --$i ) {
                      
          $f =  $_gew[$max-$i];
                      if( 
          $f == 'A' ) {
                          
          $f 10;
                      }
                      
          $produkt $_nr[$i] * $f;
                      if( 
          $produkt ) {
                          
          $produkt = ( $produkt 10 ) + floor$produkt 10 );
                      }
                      
          $summe += $produkt;
                  }
                  return 
          $summe;
              } 
          die anderen machst du aber alleine

          PS: sind nur 5 oder 6, weil alle anderen die selbe Methode mit anderer Gewichtung verwenden
          TBT

          Die zwei wichtigsten Regeln für eine berufliche Karriere:
          1. Verrate niemals alles was du weißt!


          PHP 2 AllPatrizier II Browsergame

          Kommentar


          • #6
            Original geschrieben von TBT
            EDIT:
            nicht editieren, sowas ist unfähr!
            Selber

            Nachdem ich das mal mit der Methode von meiner Bank bei meiner Kontonummer nachgerechnet habe, kam ich zu dem Ergebnis, dass die auch ungültig ist. Aber dann ist mir an dem (bei der Methode vorhandenen) Beispiel aufgefallen, das ich was falsch gemacht hatte.
            hopka.net!

            Kommentar

            Lädt...
            X