IBAN-Validator für .NET

    • Release
    • Open Source

    Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von nikeee13.

      IBAN-Validator für .NET

      Name der Library:
      IBAN-Validator

      Beschreibung:
      Eine einfache Library zum Validieren und Parsen von IBANs. Da bei manchen Ländern Teile der IBAN weitere, von der IBAN unabhängige Prüfziffern in der IBAN enthalten sind, ist es möglich, einen Validator dafür hinzuzufügen. So können sowohl IBAN- als auch Länderspezifische Prüfsummen überprüft werden. Standardmäßig wird aber nur die IBAN-Prüfung mitgeliefert.

      Für deutsche IBANs wird auch eine Klasse mitgeliefert, mit der aus der IBAN die Kontonummer und BLZ ausliest. Um andere länderspezifische Informationen zu implementieren kann von der Basisklasse IbanInformationProvider geerbt werden.

      Wer möchte, kann weitere Implementierungen nachreichen. :P

      Klassendiagramm:


      Anwendungsbeispiel:

      C-Quellcode

      1. var iban = new Iban("DE", 68, "210501700012345678");
      2. Console.WriteLine(iban.IsValid);
      3. // Mit Parse:
      4. iban = Iban.Parse("DE88 2008 0000 0970 3757 10");
      5. Console.WriteLine(iban.IsValid);
      6. // Mit TryParse:
      7. if(Iban.TryParse("DE88 2008 0000 0970 3757 10", out iban))
      8. {
      9. Console.WriteLine(iban.IsValid);
      10. var info = new GermanyIbanInformationProvider(iban);
      11. Console.WriteLine("Bankengruppe: " + info.Bankleitzahl.Bankengruppe.ToString());
      12. Console.WriteLine("Clearing area: " + info.Bankleitzahl.ClearingArea.ToString());
      13. }


      Weitere Beispiele gibt es bei den Unit Tests.

      Verwendete Programmiersprache und IDE:
      C# (IDE: Visual Studio 2013)

      Systemanforderungen:
      .NET Framework 2.0, 3.5, 4.0 Client Profile, 4.5 oder 4.5.1

      Download:
      .NET 2.0: Direktlink auf GitHub (11.264 KB)
      .NET 3.5: Direktlink auf GitHub (11.264 KB)
      .NET 4.0: Direktlink auf GitHub (11.264 KB)
      .NET 4.5: Direktlink auf GitHub (11.264 KB)
      .NET 4.5.1: Direktlink auf GitHub (11.264 KB)

      ToDo:
      • Auf Wunsch kann ich noch Versionen für .NET 2.0 und 4.5 rausgeben. Ich halte das im Moment aber nicht für Nötig.
      • Dokumentation der öffentlich sichtbaren Typen und Membern


      Demoanwendung:


      Lizenz/Weitergabe:
      Pizzaware
      Präferierte Beläge: Salami, Schinken und Champignons.

      GitHub:
      git clone https://github.com/nikeee/iban-validator

      Verbesserungsvorschläge hier im Forum und Issues+Forks via GitHub sind ausdrücklich erwünscht.
      Von meinem iPhone gesendet

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „nikeee13“ ()

      Ohne es getestet zu haben, fällt mir auf, dass du ziemlich oft einmal deutsche und dann wieder englische Bezeichnungen der Klassenmember verwendet hast.
      Fände es "schöner" wenn es entweder Englisch oder Deutsch ist.

      lg
      ScheduleLib 0.0.1.0
      Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten
      Das ist Absicht. Sachen, die deutsche Informationen betreffen, sind auf Deutsch, soweit es sich um Eigennamen handelt. Ich habe nur die für Deutschland implementiert, da ich nicht für alle Europaländer die spezielle Zusammensetzung der IBAN kenne.
      Inwiefern die Bankengruppe und die Kontonummer/Bankleitzahl jetzt ein Eigenname ist, weiß ich nicht. Deshalb hab ich es einfach auch mal als einer behandelt. Außerdem kenne ich die englischen Begriffe nicht und möchte nicht einfach "Bankleitzahl" auf Englisch übersetzen, da das Übersetzte eventuelle eine leicht andere semantische Bedeutung hat. Durch "Bankleitzahl" will ich deutlich machen, dass man diese Klassen nur für deutsche Daten verwenden sollte.
      Die Sachen, die nicht nur deutsche Informationen betreffen (alles, was nicht im Specialized-Namespace ist), ist deshalb auf Englisch.

      Das kann ich natürlich ändern, solange genug Leute das wünschen.
      Von meinem iPhone gesendet
      Genau das habe ich mir auch gedacht. Dann ist mir eingefallen, dass Deutsch ja auch in anderen Ländern gesprochen wird, wo einem der Provider nicht viel hilft. Durch "Germany" wollte ich deshalb ausdrücken, dass es in Deutschland und nicht im deutschsprachigen Raum gültig ist. Ich kann aber acuh das ändern, wenn mcih genug Leute darauf hinweisen.
      Von meinem iPhone gesendet
      Habe die Library mal geupdated.
      Neu:
      • Versionen für .NET 2.0, .NET 4.5 und .NET 4.5.1 (siehe Startpost)
      • Kleinere Verbesserungen der Codequalität
      • Länderspezifische Validierung der IBAN/Ländercodes


      Außerdem gibt es jetzt auch eine Demo-Anwendung.
      Von meinem iPhone gesendet

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „nikeee13“ ()