Εργαλείο Δημιουργίας και Επικύρωσης IBAN για Δοκιμές και Επαλήθευση
Δημιουργήστε τυχαίους IBAN που συμμορφώνονται με τη μορφή ή επικυρώστε υπάρχοντες με το απλό εργαλείο μας. Ιδανικό για δοκιμές χρηματοοικονομικών εφαρμογών, τραπεζικού λογισμικού και εκπαιδευτικούς σκοπούς.
Γεννήτρια & Επαληθευτής IBAN
Τεκμηρίωση
IBAN Generator and Validator Tool
Εισαγωγή
Το εργαλείο Δημιουργίας και Επικύρωσης Διεθνούς Αριθμού Τραπεζικού Λογαριασμού (IBAN) είναι ένα ολοκληρωμένο εργαλείο σχεδιασμένο για δοκιμές και επαληθεύσεις σε χρηματοοικονομικές εφαρμογές, τραπεζικό λογισμικό και εκπαιδευτικά πλαίσια. Αυτή η φιλική προς το χρήστη εφαρμογή προσφέρει δύο βασικά χαρακτηριστικά: τη δημιουργία τυχαίων αλλά συμμορφούμενων με τη μορφή IBAN και την επικύρωση της δομικής ακεραιότητας των IBAN που εισάγονται από τους χρήστες. Είτε είστε προγραμματιστής που δοκιμάζει χρηματοοικονομικό λογισμικό, είτε ειδικός QA που επαληθεύει τραπεζικές εφαρμογές, είτε εκπαιδευτικός που εξηγεί τα διεθνή τραπεζικά πρότυπα, αυτό το εργαλείο παρέχει μια απλή λύση χωρίς να απαιτεί περίπλοκες ρυθμίσεις ή τρίτες ενσωματώσεις.
Οι IBAN (Διεθνείς Αριθμοί Τραπεζικού Λογαριασμού) είναι τυποποιημένα αναγνωριστικά λογαριασμών που χρησιμοποιούνται διεθνώς για να διευκολύνουν τις διασυνοριακές συναλλαγές και να μειώνουν τα λάθη στις διεθνείς μεταφορές χρημάτων. Κάθε IBAN αποτελείται από έναν κωδικό χώρας, ψηφία ελέγχου και έναν βασικό αριθμό τραπεζικού λογαριασμού (BBAN) που ακολουθεί τις χώρες-ειδικές μορφές. Το εργαλείο μας υποστηρίζει πολλές μορφές χωρών και διασφαλίζει ότι όλοι οι παραγόμενοι IBAN περνούν τον αλγόριθμο επικύρωσης MOD 97 που καθορίζεται στο πρότυπο ISO 13616.
Πώς λειτουργούν οι IBAN
Δομή και Μορφή IBAN
Ένας IBAN αποτελείται από έως 34 αλφαριθμητικούς χαρακτήρες, αν και το ακριβές μήκος ποικίλλει ανά χώρα. Η τυπική δομή περιλαμβάνει:
- Κωδικός Χώρας: Ένας κωδικός δύο γραμμάτων ISO 3166-1 alpha-2 (π.χ. DE για Γερμανία, GB για Ηνωμένο Βασίλειο)
- Ψηφία Ελέγχου: Δύο ψηφία υπολογισμένα χρησιμοποιώντας τον αλγόριθμο MOD 97 για την επικύρωση του IBAN
- Βασικός Αριθμός Τραπεζικού Λογαριασμού (BBAN): Χώρα-ειδική μορφή που μπορεί να περιλαμβάνει:
- Κωδικός τράπεζας
- Κωδικός υποκαταστήματος (κωδικός ταξινόμησης)
- Αριθμός λογαριασμού
- Εθνικά ψηφία ελέγχου
Για παράδειγμα, ένας γερμανικός IBAN ακολουθεί τη δομή DE2!n8!n10!n
όπου:
DE
είναι ο κωδικός χώρας2!n
αντιπροσωπεύει δύο αριθμητικά ψηφία ελέγχου8!n
αντιπροσωπεύει έναν οκταψήφιο κωδικό τράπεζας10!n
αντιπροσωπεύει έναν δεκαψήφιο αριθμό λογαριασμού
Διαφορετικές χώρες έχουν διαφορετικές μορφές BBAN, με αποτέλεσμα να προκύπτουν διαφορετικά μήκη IBAN:
Χώρα | Μήκος | Δομή | Παράδειγμα |
---|---|---|---|
Γερμανία (DE) | 22 | DE2!n8!n10!n | DE89370400440532013000 |
Ηνωμένο Βασίλειο (GB) | 22 | GB2!n4!a6!n8!n | GB29NWBK60161331926819 |
Γαλλία (FR) | 27 | FR2!n5!n5!n11!c2!n | FR1420041010050500013M02606 |
Ισπανία (ES) | 24 | ES2!n4!n4!n1!n1!n10!n | ES9121000418450200051332 |
Ιταλία (IT) | 27 | IT2!n1!a5!n5!n12!c | IT60X0542811101000000123456 |
Αλγόριθμος Επικύρωσης IBAN
Η διαδικασία επικύρωσης IBAN χρησιμοποιεί τον αλγόριθμο MOD 97 όπως καθορίζεται στο πρότυπο ISO 7064. Ορίστε πώς λειτουργεί:
- Μετακινήστε τους πρώτους τέσσερις χαρακτήρες (κωδικός χώρας και ψηφία ελέγχου) στο τέλος του IBAN
- Μετατρέψτε όλα τα γράμματα σε αριθμούς (Α=10, Β=11, ..., Ζ=35)
- Υπολογίστε το modulo 97 του προκύπτοντος αριθμού
- Αν το υπόλοιπο ισούται με 1, ο IBAN είναι έγκυρος
Μαθηματικά, αυτό αναπαρίσταται ως:
Ο επικυρωτής μας υλοποιεί αυτόν τον αλγόριθμο για να επαληθεύσει τη δομική ακεραιότητα οποιουδήποτε IBAN εισάγεται από τους χρήστες.
Χαρακτηριστικά Εργαλείου
Δημιουργός IBAN
Ο δημιουργός IBAN δημιουργεί τυχαίους αλλά έγκυρους IBAN για σκοπούς δοκιμών. Βασικά χαρακτηριστικά περιλαμβάνουν:
- Επιλογή Χώρας: Επιλέξτε από πολλές υποστηριζόμενες χώρες, συμπεριλαμβανομένων των Γερμανίας, Ηνωμένου Βασιλείου, Γαλλίας, Ισπανίας, Ιταλίας, Ολλανδίας, Ελβετίας, Αυστρίας, Βελγίου και Πολωνίας
- Συμμόρφωση με τη Μορφή: Όλοι οι παραγόμενοι IBAN ακολουθούν τις χώρες-ειδικές μορφές και περνούν την επικύρωση MOD 97
- Δημιουργία με Ένα Κλικ: Δημιουργήστε άμεσα έγκυρους IBAN με το πάτημα ενός κουμπιού
- Αντιγραφή στο Πρόχειρο: Αντιγράψτε εύκολα τους παραγόμενους IBAN για χρήση σε σενάρια δοκιμών
- Οπτική Αναπαράσταση: Δείτε μια χρωματική κωδικοποίηση των συστατικών του IBAN (κωδικός χώρας, ψηφία ελέγχου, λεπτομέρειες τράπεζας)
Ο δημιουργός δημιουργεί IBAN με:
- Επιλογή της κατάλληλης μορφής χώρας
- Δημιουργία τυχαίων ψηφίων για το τμήμα BBAN
- Υπολογισμό των σωστών ψηφίων ελέγχου χρησιμοποιώντας τον αλγόριθμο MOD 97
- Συναρμολόγηση του πλήρους IBAN
Επικυρωτής IBAN
Ο επικυρωτής IBAN ελέγχει τη δομική ακεραιότητα των IBAN που εισάγονται από τους χρήστες. Βασικά χαρακτηριστικά περιλαμβάνουν:
- Επικύρωση Μορφής: Ελέγχει αν ο IBAN ακολουθεί τη σωστή μορφή χώρας
- Επικύρωση MOD 97: Επαληθεύει τα ψηφία ελέγχου χρησιμοποιώντας τον τυπικό αλγόριθμο
- Λεπτομερής Ανάλυση: Εμφανίζει τα συστατικά των έγκυρων IBAN (κωδικός χώρας, ψηφία ελέγχου, κωδικός τράπεζας, αριθμός λογαριασμού)
- Αναγνώριση Σφαλμάτων: Παρέχει συγκεκριμένα μηνύματα σφάλματος για άκυρους IBAN
- Βοήθεια Μορφοποίησης: Αυτόματα μορφοποιεί τους εισαγόμενους IBAN για καλύτερη αναγνωσιμότητα
Ο επικυρωτής εκτελεί πολλαπλούς ελέγχους:
- Επαληθεύει ότι ο κωδικός χώρας είναι υποστηριζόμενος
- Ελέγχει το μήκος του IBAN σύμφωνα με τις απαιτήσεις της χώρας
- Επικυρώνει τους τύπους χαρακτήρων (γράμματα και αριθμούς στις σωστές θέσεις)
- Εκτελεί τον έλεγχο MOD 97 για να επαληθεύσει τα ψηφία ελέγχου
Οδηγός Βήμα προς Βήμα
Δημιουργία ενός IBAN
- Πρόσβαση στην Καρτέλα Δημιουργίας: Κάντε κλικ στην καρτέλα "Δημιουργία" (επιλεγμένη από προεπιλογή)
- Επιλέξτε μια Χώρα: Επιλέξτε τη χώρα σας από το αναδυόμενο μενού
- Δημιουργήστε τον IBAN: Κάντε κλικ στο κουμπί "Δημιουργία IBAN"
- Δείτε το Αποτέλεσμα: Ο παραγόμενος IBAN θα εμφανιστεί παρακάτω με μια οπτική ανάλυση των συστατικών του
- Αντιγραφή στο Πρόχειρο: Κάντε κλικ στο κουμπί "Αντιγραφή στο πρόχειρο" για να αντιγράψετε τον IBAN για χρήση αλλού
Επικύρωση ενός IBAN
- Πρόσβαση στην Καρτέλα Επικύρωσης: Κάντε κλικ στην καρτέλα "Επικύρωση"
- Εισάγετε έναν IBAN: Πληκτρολογήστε ή επικολλήστε έναν IBAN στο πεδίο εισαγωγής
- Οι κενές θέσεις και η μορφοποίηση θα διαχειριστούν αυτόματα
- Το εργαλείο δέχεται τόσο μορφοποιημένους (με κενά) όσο και μη μορφοποιημένους IBAN
- Δείτε τα Αποτελέσματα Επικύρωσης: Το εργαλείο θα επικυρώσει αυτόματα τον IBAN καθώς πληκτρολογείτε
- Ελέγξτε τις Λεπτομέρειες: Για έγκυρους IBAN, θα εμφανιστεί μια ανάλυση των συστατικών
- Ελέγξτε τυχόν Σφάλματα: Για άκυρους IBAN, συγκεκριμένα μηνύματα σφάλματος θα βοηθήσουν στην αναγνώριση του προβλήματος
Χρήσεις
Το εργαλείο Δημιουργίας και Επικύρωσης IBAN εξυπηρετεί πολλαπλούς σκοπούς σε διάφορους τομείς:
Ανάπτυξη Λογισμικού και Δοκιμές
- Δοκιμή API: Δημιουργήστε έγκυρους IBAN για να δοκιμάσετε χρηματοοικονομικά APIs χωρίς να χρησιμοποιείτε πραγματικούς αριθμούς λογαριασμών
- Επικύρωση Φορμών: Δοκιμάστε τη λογική επικύρωσης IBAN σε ιστοσελίδες και εφαρμογές
- Δοκιμές Άκρων: Επαληθεύστε πώς οι εφαρμογές χειρίζονται IBAN από διαφορετικές χώρες
- Δοκιμές Οπισθοδρόμησης: Διασφαλίστε ότι η διαχείριση IBAN παραμένει σωστή μετά από ενημερώσεις λογισμικού
Ανάπτυξη Χρηματοοικονομικών Εφαρμογών
- Συστήματα Πληρωμών: Δοκιμάστε τη λειτουργικότητα επεξεργασίας διεθνών πληρωμών
- Τραπεζικό Λογισμικό: Επαληθεύστε τα συστατικά ανάλυσης και επικύρωσης IBAN
- Εφαρμογές Fintech: Διασφαλίστε τη συμμόρφωση με τα διεθνή τραπεζικά πρότυπα
- Συστήματα Βάσεων Δεδομένων: Δοκιμάστε την αποθήκευση και ανάκτηση δεδομένων IBAN
Εκπαιδευτικοί Σκοποί
- Εκπαίδευση στα Τραπεζικά Πρότυπα: Επιδείξτε πώς δομούνται και επικυρώνονται οι IBAN
- Χρηματοοικονομική Γραμματεία: Διδάξτε στους μαθητές για διεθνείς αναγνωριστικούς αριθμούς τραπεζών
- Διδακτικά Μαθήματα Κωδικοποίησης: Χρησιμοποιήστε ως παράδειγμα για αλγορίθμους επικύρωσης και χειρισμό χρηματοοικονομικών δεδομένων
- Τεχνική Τεκμηρίωση: Δημιουργήστε παραδείγματα IBAN για τεκμηρίωση API
Μεταφορά και Μετατροπή Δεδομένων
- Μεταφορά Παλαιών Συστημάτων: Δοκιμάστε τις διαδικασίες μετατροπής IBAN κατά την αναβάθμιση συστημάτων
- Ανώνυμη Δεδομένα: Δημιουργήστε δοκιμαστικούς IBAN για να αντικαταστήσετε πραγματικούς αριθμούς λογαριασμών σε περιβάλλοντα ανάπτυξης
- Σπορά Βάσεων Δεδομένων: Δημιουργήστε ρεαλιστικά δεδομένα δοκιμών για βάσεις δεδομένων χρηματοοικονομικών εφαρμογών
Εναλλακτικές
Ενώ το εργαλείο Δημιουργίας και Επικύρωσης IBAN προσφέρει μια απλή εμπειρία για σκοπούς δοκιμών, υπάρχουν εναλλακτικές προσεγγίσεις που μπορείτε να εξετάσετε:
Εμπορικά APIs Τραπεζών
- Πλεονεκτήματα: Προσφέρουν πρόσθετη επικύρωση κατά των πραγματικών μητρώων τραπεζών, παρέχουν πιο ολοκληρωμένες χρηματοοικονομικές υπηρεσίες
- Μειονεκτήματα: Συνήθως απαιτούν συνδρομές, κλειδιά API και εργασία ενσωμάτωσης; μπορεί να έχουν περιορισμούς χρήσης
Βιβλιοθήκες IBAN για Γλώσσες Προγραμματισμού
- Πλεονεκτήματα: Μπορούν να ενσωματωθούν απευθείας στη βάση κώδικα σας, προσφέρουν προγραμματική πρόσβαση
- Μειονεκτήματα: Απαιτούν εργασία ανάπτυξης για υλοποίηση, μπορεί να χρειάζονται τακτικές ενημερώσεις για να παραμείνουν ενημερωμένες με τα πρότυπα
Επίσημοι Επικυρωτές Τραπεζών
- Πλεονεκτήματα: Παρέχονται από χρηματοπιστωτικά ιδρύματα, υψηλή ακρίβεια για τη συγκεκριμένη χώρα τους
- Μειονεκτήματα: Συνήθως περιορίζονται σε συγκεκριμένες χώρες, μπορεί να μην υποστηρίζουν χαρακτηριστικά δημιουργίας
Χειροκίνητος Υπολογισμός
- Πλεονεκτήματα: Βοηθά στην κατανόηση του υποκείμενου αλγορίθμου, χωρίς εξαρτήσεις από εξωτερικά εργαλεία
- Μειονεκτήματα: Χρονοβόρο, επιρρεπές σε ανθρώπινα λάθη, μη πρακτικό για δοκιμές σε κλίμακα
Το εργαλείο μας γεφυρώνει το χάσμα μεταξύ αυτών των εναλλακτικών προσφέροντας μια απλή, προσβάσιμη διεπαφή για τόσο τη δημιουργία όσο και την επικύρωση χωρίς να απαιτεί τεχνική ενσωμάτωσης ή πληρωμένες συνδρομές.
Συχνές Ερωτήσεις
Τι είναι ένας IBAN;
Ένας IBAN (Διεθνής Αριθμός Τραπεζικού Λογαριασμού) είναι ένα τυποποιημένο διεθνές σύστημα αριθμών που αναπτύχθηκε για να προσδιορίζει τραπεζικούς λογαριασμούς σε διασυνοριακά επίπεδα. Ιδρύθηκε από τον Διεθνή Οργανισμό Τυποποίησης (ISO) για να διευκολύνει τις διεθνείς συναλλαγές χωρίς λάθη.
Πόσο ακριβής είναι αυτή η γεννήτρια IBAN;
Η γεννήτρια IBAN δημιουργεί δομικά έγκυρους IBAN που περνούν τον αλγόριθμο ελέγχου MOD 97 όπως καθορίζεται στο πρότυπο ISO 13616. Ενώ οι παραγόμενοι IBAN είναι μαθηματικά έγκυροι, είναι τυχαίοι και δεν συνδέονται με πραγματικούς τραπεζικούς λογαριασμούς, καθιστώντας τους ιδανικούς για δοκιμές αλλά όχι για πραγματικές συναλλαγές.
Ποιες χώρες υποστηρίζονται από αυτό το εργαλείο;
Το εργαλείο υποστηρίζει αυτή τη στιγμή μορφές IBAN για Γερμανία, Ηνωμένο Βασίλειο, Γαλλία, Ισπανία, Ιταλία, Ολλανδία, Ελβετία, Αυστρία, Βέλγιο και Πολωνία. Αυτές καλύπτουν τις πιο συχνά χρησιμοποιούμενες μορφές IBAN στην Ευρώπη.
Μπορώ να χρησιμοποιήσω τους παραγόμενους IBAN για πραγματικές συναλλαγές;
Όχι. Οι IBAN που δημιουργούνται από αυτήν τη γεννήτρια είναι δομικά έγκυροι αλλά τυχαίοι. Δεν είναι συνδεδεμένοι με πραγματικούς τραπεζικούς λογαριασμούς και θα πρέπει να χρησιμοποιούνται μόνο για δοκιμές, εκπαιδευτικούς ή επιδεικτικούς σκοπούς.
Πώς λειτουργεί η επικύρωση IBAN;
Ο επικυρωτής ελέγχει πολλές πτυχές ενός IBAN:
- Εγκυρότητα κωδικού χώρας
- Σωστό μήκος για τη συγκεκριμένη χώρα
- Εγκυρότητα τύπων χαρακτήρων (γράμματα και αριθμοί στις σωστές θέσεις)
- Επικύρωση ψηφίων ελέγχου MOD 97 σύμφωνα με το πρότυπο ISO
Είναι σημαντικά τα κενά σε έναν IBAN;
Όχι. Ενώ οι IBAN συχνά εμφανίζονται με κενά για αναγνωσιμότητα (συνήθως σε ομάδες τεσσάρων χαρακτήρων), τα κενά αγνοούνται κατά την επικύρωση. Το εργαλείο μας χειρίζεται τόσο μορφοποιημένους (με κενά) όσο και μη μορφοποιημένους IBAN.
Αποθηκεύονται ή κοινοποιούνται τα δεδομένα IBAN μου κατά τη χρήση αυτού του εργαλείου;
Όχι. Αυτό το εργαλείο λειτουργεί εντελώς στον περιηγητή σας. Κανένα δεδομένο IBAN δεν αποστέλλεται σε κανέναν διακομιστή, δεν αποθηκεύεται ή κοινοποιείται σε τρίτους. Τα δεδομένα σας παραμένουν ιδιωτικά και ασφαλή.
Μπορώ να επικυρώσω IBAN από χώρες που δεν είναι στη λίστα αναδυόμενων;
Αυτή τη στιγμή, το εργαλείο επικυρώνει μόνο IBAN από τις υποστηριζόμενες χώρες που αναφέρονται στη λίστα αναδυόμενων. Εάν χρειάζεστε επικύρωση για πρόσθετες χώρες, παρακαλούμε ενημερώστε μας μέσω της φόρμας ανατροφοδότησης.
Γιατί μπορεί ένας IBAN που φαίνεται έγκυρος να αποτύχει στην επικύρωση;
Ένας IBAN μπορεί να αποτύχει στην επικύρωση για αρκετούς λόγους:
- Λάθος ψηφία ελέγχου
- Λάθος μήκος για τη συγκεκριμένη χώρα
- Μη έγκυροι χαρακτήρες σε συγκεκριμένες θέσεις
- Λάθη πληκτρολόγησης ή μεταθέσεις
- Κωδικός χώρας που δεν υποστηρίζεται από το εργαλείο
Πώς μπορώ να αναφέρω ζητήματα ή να προτείνω βελτιώσεις;
Δεχόμαστε ανατροφοδότηση για να βελτιώσουμε το εργαλείο. Παρακαλούμε χρησιμοποιήστε τη φόρμα ανατροφοδότησης που είναι προσβάσιμη μέσω του συνδέσμου στο κάτω μέρος της σελίδας για να αναφέρετε οποιαδήποτε ζητήματα ή να προτείνετε βελτιώσεις.
Τεχνική Υλοποίηση
Για τους προγραμματιστές που ενδιαφέρονται να υλοποιήσουν την επικύρωση και τη δημιουργία IBAN στις δικές τους εφαρμογές, εδώ είναι παραδείγματα κώδικα σε διάφορες γλώσσες προγραμματισμού:
Επικύρωση IBAN
1function validateIban(iban) {
2 // Remove spaces and convert to uppercase
3 const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4
5 // Check basic format
6 if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7 return false;
8 }
9
10 // Rearrange and convert letters to numbers
11 const rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
12 const converted = rearranged.split('').map(char => {
13 if (/[A-Z]/.test(char)) {
14 return (char.charCodeAt(0) - 55).toString();
15 }
16 return char;
17 }).join('');
18
19 // Calculate mod 97
20 let remainder = 0;
21 for (let i = 0; i < converted.length; i++) {
22 remainder = (remainder * 10 + parseInt(converted[i], 10)) % 97;
23 }
24
25 return remainder === 1;
26}
27
28// Example usage
29console.log(validateIban('DE89 3704 0044 0532 0130 00')); // true
30console.log(validateIban('GB29 NWBK 6016 1331 9268 19')); // true
31console.log(validateIban('DE89 3704 0044 0532 0130 01')); // false (invalid check digits)
32
1def validate_iban(iban):
2 # Remove spaces and convert to uppercase
3 iban = iban.replace(' ', '').upper()
4
5 # Basic format check
6 if not (len(iban) > 4 and iban[:2].isalpha() and iban[2:4].isdigit()):
7 return False
8
9 # Move first 4 characters to the end
10 rearranged = iban[4:] + iban[:4]
11
12 # Convert letters to numbers (A=10, B=11, ..., Z=35)
13 converted = ''
14 for char in rearranged:
15 if char.isalpha():
16 converted += str(ord(char) - 55)
17 else:
18 converted += char
19
20 # Check if mod 97 equals 1
21 return int(converted) % 97 == 1
22
23# Example usage
24print(validate_iban('DE89 3704 0044 0532 0130 00')) # True
25print(validate_iban('GB29 NWBK 6016 1331 9268 19')) # True
26print(validate_iban('DE89 3704 0044 0532 0130 01')) # False (invalid check digits)
27
1public class IbanValidator {
2 public static boolean validateIban(String iban) {
3 // Remove spaces and convert to uppercase
4 String cleanedIban = iban.replaceAll("\\s", "").toUpperCase();
5
6 // Basic format check
7 if (!cleanedIban.matches("[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}")) {
8 return false;
9 }
10
11 // Move first 4 characters to the end
12 String rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
13
14 // Convert letters to numbers
15 StringBuilder converted = new StringBuilder();
16 for (char c : rearranged.toCharArray()) {
17 if (Character.isLetter(c)) {
18 converted.append(c - 'A' + 10);
19 } else {
20 converted.append(c);
21 }
22 }
23
24 // Calculate mod 97
25 BigInteger numeric = new BigInteger(converted.toString());
26 return numeric.mod(BigInteger.valueOf(97)).intValue() == 1;
27 }
28
29 public static void main(String[] args) {
30 System.out.println(validateIban("DE89 3704 0044 0532 0130 00")); // true
31 System.out.println(validateIban("GB29 NWBK 6016 1331 9268 19")); // true
32 System.out.println(validateIban("DE89 3704 0044 0532 0130 01")); // false
33 }
34}
35
Δημιουργία IBAN
1function generateIban(countryCode) {
2 const countryFormats = {
3 'DE': { length: 22, bbanPattern: '8n10n' },
4 'GB': { length: 22, bbanPattern: '4a6n8n' },
5 'FR': { length: 27, bbanPattern: '5n5n11c2n' }
6 // Add more countries as needed
7 };
8
9 if (!countryFormats[countryCode]) {
10 throw new Error(`Country code ${countryCode} not supported`);
11 }
12
13 // Generate random BBAN based on country pattern
14 let bban = '';
15 const pattern = countryFormats[countryCode].bbanPattern;
16 let i = 0;
17
18 while (i < pattern.length) {
19 const count = parseInt(pattern.substring(i + 1), 10);
20 const type = pattern[i];
21
22 if (type === 'n') {
23 // Generate numeric characters
24 for (let j = 0; j < count; j++) {
25 bban += Math.floor(Math.random() * 10);
26 }
27 } else if (type === 'a') {
28 // Generate alphabetic characters
29 for (let j = 0; j < count; j++) {
30 bban += String.fromCharCode(65 + Math.floor(Math.random() * 26));
31 }
32 } else if (type === 'c') {
33 // Generate alphanumeric characters
34 for (let j = 0; j < count; j++) {
35 const isLetter = Math.random() > 0.5;
36 if (isLetter) {
37 bban += String.fromCharCode(65 + Math.floor(Math.random() * 26));
38 } else {
39 bban += Math.floor(Math.random() * 10);
40 }
41 }
42 }
43
44 i += 2;
45 }
46
47 // Calculate check digits
48 const checkDigits = calculateCheckDigits(countryCode, bban);
49
50 return countryCode + checkDigits + bban;
51}
52
53function calculateCheckDigits(countryCode, bban) {
54 // Create initial IBAN with '00' as check digits
55 const initialIban = countryCode + '00' + bban;
56
57 // Rearrange and convert letters to numbers
58 const rearranged = bban + countryCode + '00';
59 const converted = rearranged.split('').map(char => {
60 if (/[A-Z]/.test(char)) {
61 return (char.charCodeAt(0) - 55).toString();
62 }
63 return char;
64 }).join('');
65
66 // Calculate 98 minus mod 97
67 let remainder = 0;
68 for (let i = 0; i < converted.length; i++) {
69 remainder = (remainder * 10 + parseInt(converted[i], 10)) % 97;
70 }
71
72 const checkDigits = (98 - remainder).toString().padStart(2, '0');
73 return checkDigits;
74}
75
76// Example usage
77console.log(generateIban('DE')); // Generates a valid German IBAN
78console.log(generateIban('GB')); // Generates a valid UK IBAN
79
1import random
2import string
3
4def generate_iban(country_code):
5 country_formats = {
6 'DE': {'length': 22, 'bban_format': '8n10n'},
7 'GB': {'length': 22, 'bban_format': '4a6n8n'},
8 'FR': {'length': 27, 'bban_format': '5n5n11c2n'}
9 # Add more countries as needed
10 }
11
12 if country_code not in country_formats:
13 raise ValueError(f"Country code {country_code} not supported")
14
15 # Generate random BBAN based on country format
16 bban = ''
17 format_str = country_formats[country_code]['bban_format']
18 i = 0
19
20 while i < len(format_str):
21 count = int(''.join(c for c in format_str[i+1:] if c.isdigit()))
22 type_char = format_str[i]
23
24 if type_char == 'n': # Numeric
25 bban += ''.join(random.choices(string.digits, k=count))
26 elif type_char == 'a': # Alphabetic
27 bban += ''.join(random.choices(string.ascii_uppercase, k=count))
28 elif type_char == 'c': # Alphanumeric
29 bban += ''.join(random.choices(string.ascii_uppercase + string.digits, k=count))
30
31 i += 1 + len(str(count))
32
33 # Calculate check digits
34 check_digits = calculate_check_digits(country_code, bban)
35
36 return country_code + check_digits + bban
37
38def calculate_check_digits(country_code, bban):
39 # Create string for check digit calculation
40 check_string = bban + country_code + '00'
41
42 # Convert letters to numbers (A=10, B=11, ..., Z=35)
43 numeric = ''
44 for char in check_string:
45 if char.isalpha():
46 numeric += str(ord(char.upper()) - 55)
47 else:
48 numeric += char
49
50 # Calculate 98 minus mod 97
51 remainder = int(numeric) % 97
52 check_digits = str(98 - remainder).zfill(2)
53
54 return check_digits
55
56# Example usage
57print(generate_iban('DE')) # Generates a valid German IBAN
58print(generate_iban('GB')) # Generates a valid UK IBAN
59
Αναφορές
- ISO 13616-1:2007 - "Χρηματοοικονομικές υπηρεσίες - Διεθνής αριθμός τραπεζικού λογαριασμού (IBAN) - Μέρος 1: Δομή του IBAN"
- Ευρωπαϊκή Επιτροπή Τραπεζικών Προτύπων (ECBS) - "IBAN: Διεθνής Αριθμός Τραπεζικού Λογαριασμού"
- SWIFT - "Μητρώο IBAN"
- Ευρωπαϊκή Επιτροπή Πληρωμών - "IBAN και Αναγνωριστικός Κωδικός Πιστωτή"
- Τράπεζα Διεθνών Διακανονισμών - "Συστήματα πληρωμών, εκκαθάρισης και διακανονισμού"
- Ευρωπαϊκή Κεντρική Τράπεζα - "Ενιαία Ζώνη Πληρωμών σε Ευρώ (SEPA)"
- ISO 9362 - "Τραπεζική - Τραπεζικά τηλεπικοινωνιακά μηνύματα - Κωδικός αναγνωριστικού επιχειρήσεων (BIC)"
- ISO 7064 - "Τεχνολογία πληροφοριών - Τεχνικές ασφαλείας - Συστήματα ελέγχου χαρακτήρων"
Συμπέρασμα
Το εργαλείο Δημιουργίας και Επικύρωσης IBAN παρέχει μια απλή αλλά ισχυρή λύση για δοκιμές και εκπαιδευτικούς σκοπούς που σχετίζονται με διεθνείς αναγνωριστικούς αριθμούς τραπεζών. Προσφέροντας τόσο δυνατότητες δημιουργίας όσο και επικύρωσης σε μια φιλική προς το χρήστη διεπαφή, εξαλείφει την ανάγκη για περίπλοκες ρυθμίσεις ή τρίτες ενσωματώσεις.
Είτε αναπτύσσετε χρηματοοικονομικές εφαρμογές, δοκιμάζετε συστήματα πληρωμών ή μαθαίνετε για διεθνή τραπεζικά πρότυπα, αυτό το εργαλείο προσφέρει έναν απλό τρόπο για να εργαστείτε με IBAN. Η ολοκληρωμένη επικύρωση διασφαλίζει ότι όλοι οι παραγόμενοι IBAN είναι δομικά σωστοί και συμμορφώνονται με τα διεθνή πρότυπα.
Δοκιμάστε να δημιουργήσετε ή να επικυρώσετε έναν IBAN τώρα για να βιώσετε τις δυνατότητες του εργαλείου από πρώτο χέρι!
Ανατροφοδότηση
Κάντε κλικ στο toast ανατροφοδότησης για να ξεκινήσετε να δίνετε ανατροφοδότηση για αυτό το εργαλείο
Σχετικά Εργαλεία
Ανακαλύψτε περισσότερα εργαλεία που μπορεί να είναι χρήσιμα για τη ροή εργασίας σας