Alat Penjana & Pengesah IBAN - Data Perbankan Ujian

Hasilkan IBAN ujian yang sah atau mengesahkan yang sedia ada dengan serta-merta. Menyokong 10 negara Eropah dengan pengesahan MOD 97. Sempurna untuk ujian perisian kewangan dan pembangunan.

Penjana & Pengesah IBAN

📚

Dokumentasi

Alat Penjana dan Pengesah IBAN

Fungsi Alat Ini

Menguji perisian kewangan tanpa data akaun bank sebenar? Anda memerlukan format IBAN yang sah yang lulus semakan. Alat ini menjana IBAN rawak yang mengikuti format negara tertentu dan mengesahkan yang sedia ada menggunakan standard ISO 13616.

Inilah masalah praktikal yang diselesaikan: semasa membina sistem pembayaran atau aplikasi perbankan, anda memerlukan data ujian yang tidak akan gagal semakan tetapi tidak berisiko mendedahkan nombor akaun sebenar. Kesilapan biasa yang dilakukan pembangun ialah mencipta IBAN "palsu" yang tidak lulus algoritma semakan MOD 97, menyebabkan ujian gagal atas sebab yang salah.

Alat ini mengendalikan dua tugas utama:

  • Penjana: Mencipta IBAN yang sah dari segi struktur untuk mana-mana negara yang disokong. Setiap nombor yang dijana lulus semakan yang sama seperti sistem pengeluaran anda.
  • Pengesah: Mengesahkan struktur IBAN, digit semakan, dan format negara tertentu. Berguna untuk menyiasat mengapa IBAN ditolak.

IBAN (Nombor Akaun Bank Antarabangsa) menyeragamkan cara bank mengenal pasti akaun merentas sempadan. Setiap IBAN mengandungi kod negara, dua digit semakan yang dikira melalui MOD 97, dan Nombor Akaun Bank Asas (BBAN) yang berbeza mengikut negara. Yang menjadikannya rumit ialah Jerman menggunakan 22 aksara manakala Perancis memerlukan 27, dan struktur dalaman berbeza sama sekali.

Cara Kerja IBAN

Struktur dan Format IBAN

IBAN boleh mempunyai sehingga 34 aksara alfanumerik, walaupun kebanyakan negara Eropah menggunakan 22-27. Setiap IBAN dipecahkan kepada tiga bahagian:

  1. Kod Negara: Dua huruf dari standard ISO 3166-1 alpha-2 (DE untuk Jerman, GB untuk United Kingdom)
  2. Digit Semakan: Dua digit yang dikira untuk mengesahkan keseluruhan IBAN menggunakan MOD 97
  3. Nombor Akaun Bank Asas (BBAN): Bahagian yang spesifik kepada negara yang mengandungi:
    • Pengecam bank (kadang-kadang dipanggil nombor penghalaan atau kod bank)
    • Pengecam cawangan (UK memanggilnya kod susunan)
    • Nombor akaun
    • Kadang-kadang digit semakan nasional tambahan

Ambil IBAN Jerman sebagai contoh. Corak DE2!n8!n10!n bermaksud:

  • DE = kod negara
  • 2!n = dua digit semakan numerik
  • 8!n = kod bank lapan digit (Bankleitzahl)
  • 10!n = nombor akaun sepuluh digit (Kontonummer)

Yang mengejutkan orang adalah betapa berbezanya format antara negara:

NegaraPanjangStrukturContoh
Jerman (DE)22DE2!n8!n10!nDE89370400440532013000
UK (GB)22GB2!n4!a6!n8!nGB29NWBK60161331926819
Perancis (FR)27FR2!n5!n5!n11!c2!nFR1420041010050500013M02606
Sepanyol (ES)24ES2!n4!n4!n1!n1!n10!nES9121000418450200051332
Itali (IT)27IT2!n1!a5!n5!n12!cIT60X0542811101000000123456

Algoritma Pengesahan IBAN

Pengesahan IBAN bergantung kepada algoritma MOD 97 yang ditakrifkan dalam ISO 7064. Inilah yang sebenarnya berlaku apabila anda mengesahkan IBAN:

  1. Pindahkan empat aksara pertama (kod negara dan digit semakan) ke hujung
  2. Gantikan setiap huruf dengan nombor: A=10, B=11, sehingga Z=35
  3. Kira modulo 97 daripada rentetan nombor yang terhasil
  4. IBAN yang sah sentiasa menghasilkan baki tepat 1

Secara matematis: Nombor IBAN mod 97=1\text{Nombor IBAN} \bmod 97 = 1

Mengapa MOD 97 khususnya? Ia menangkap hampir semua ralat biasa: kesilapan digit tunggal, digit yang ditukar, malah kebanyakan ralat penyuntingan yang melibatkan aksara yang kelihatan serupa. Dalam amalan, saya dapati ia menangkap kira-kira 99.9% ralat kemasukan data secara tidak sengaja, itulah sebabnya ia menjadi standard antarabangsa.

Satu keunikan yang patut diketahui: semasa menjana IBAN, anda mengira digit semakan dengan bermula dengan "00", menjalankan algoritma, kemudian menggunakan 98 tolak baki. Ini memastikan IBAN akhir akan disahkan dengan betul.

Ciri-ciri Alatanat### penjIBAN

Hasilkan IBAN ujian yang lulus pengesahan tantidakpaun akaun:sebe- Pilihan Negara: Menyokong 10 negaharaopah utama ((UK, per, Sepanyol, Itali, Belanda, Switzerland, Austria, Belgium, Poland)

  • Pematuhan Format: Setiap IBAN yang dijana memenuhi struktur negaramiulusaan MOD 97

  • Penjanaan Satu Klik: Tiada konfigurasi diperlukan—hanya hpilih negara dan hasilkan

  • Salin ke Papan Klip: Klik tunggmggaibanaan penuh untuk ditempek dalam ujian anda

  • Pecahan Visual: Paparan berwarna menunjukkan kod negara, digit semak, dan butiran bank secarasinganoses:

  1. Mem2memilih templat formatusara/huruf rawak ke keag3ira dengan MO 97 .. meraang IBANkTip:**: Apmenaburkan pangkalan data,silkan dari pelbagai negara untuk menguji senario rentas sempadan.tem pembayaran sebenar sering mempunyai kes-kes khusus dengan negara tertentu.

###:Iban

Sahkan struktur IBAN dan tangkap isuai sebelum mencapai pengeluaran:

  • Pengesahan Format: Menyak panjang dan struktur khusus negara
  • Pengesahan MOD 97: Menjalankan algoritma digit digit semak penuh
  • **PecahanAhan MencaraAHIKANaraperincian,, bankor akaun
  • Mesej Ralat Khusus: Daripada mesej "tidak sah" umum, ita akan menunjakukyangnya
  • Autofom:atan**:dalikan dengan ruangkan berlakuuna

ak pengesahan dilaksanakan mengikut urutan:

  1. Pengecaman kod negara (adakah disokong?)
  2. Pengesahan panjang (asa kiraan aksaksara yang betul untuk negara itu?)
  3. Pengesahan jaksara aks(or mdijangka, huruf di di) D 97 adakah matemak berfungAp senario Biasa: API API andapatkan dari penpenggdenganunaangisten untuk menormalisasikannya sememprmengalih ruang secautomatik dan menunjukkan format bet

Panduan Langkah demi Langkah

Menjana IBAN

  1. Akses Tab Generator: Klik pada tab "Generator" (dipilih secara lalai)
  2. Pilih Negara: Pilih negara yang anda inginkan dari menu dropdown
  3. Jana IBAN: Klik butang "Jana IBAN"
  4. Lihat Keputusan: IBAN yang dijana akan muncul di bawah dengan pecahan visual komponennya
  5. Salin ke Papan Klip: Klik butang "Salin ke papan klip" untuk menyalin IBAN untuk digunakan di tempat lain

Mengesahkan IBAN

  1. Akses Tab Pengesah: Klik pada tab "Pengesah"
  2. Masukkan IBAN: Taip atau tampal IBAN ke dalam medan input
    • Ruang dan pemformatan akan dikendalikan secara automatik
    • Alat menerima IBAN yang diformat (dengan ruang) dan tidak diformat
  3. Lihat Keputusan Pengesahan: Alat akan mengesahkan IBAN secara automatik semasa anda menaip
  4. Semak Butiran: Untuk IBAN yang sah, pecahan komponennya akan dipaparkan
  5. Semak Sebarang Ralat: Untuk IBAN yang tidak sah, mesej ralat khusus akan membantu mengenal pasti masalah

Kegunaan dan Aplikasi Dunia Sebenar

Pembangunan Perisian dan Pengujian

Pengujian API: Semasa membina ujian integrasi pembayaran, anda memerlukan IBAN yang lulus pengesahan tetapi tidak akan mencetus transaksi sebenar. Hasilkan kelompok IBAN ujian untuk suite ujian automatik anda, memastikan pengendalian ralat anda berfungsi dengan betul untuk format negara yang berbeza.

Pengesahan Borang: Menguji aliran pembayaran? Gunakan pengvalidasi untuk mengesahkan pengesahan frontend anda sepadan dengan keperluan backend. Isu kerap adalah menerima format IBAN yang akan ditolak oleh pemproses pembayaran anda kemudian—mengesan ini semasa pembangunan menjimatkan kekecewaan pelanggan.

Pengujian Kes Pinggir: Kebanyakan pembangun menguji dengan satu atau dua format negara. Apa yang berlaku apabila pelanggan Switzerland dengan IBAN 21 aksara menggunakan sistem anda yang direka untuk IBAN Jerman 22 aksara? Hasilkan pelbagai format negara untuk menguji tekanan logik panjang medan dan pengesahan anda.

Pengujian Regresi: Selepas mengemas kini perpustakaan pengesahan IBAN anda, jalankan IBAN ujian yang dijana melalui versi lama dan baru. Sebarang perbezaan menunjukkan perubahan yang merosakkan yang boleh menjejaskan pengeluaran.

Pembangunan Aplikasi Kewangan

Sistem Pembayaran: Semasa membina fungsi pemindahan wayar antarabangsa, anda akan menemui senario di mana struktur IBAN sendiri menentukan gelagat penghalaan. IBAN dari Belanda (yang termasuk huruf dalam BBAN) mendedahkan pepijat yang tidak akan ditangkap oleh IBAN Jerman yang semuanya angka.

Perisian Perbankan: Menghurai IBAN untuk mengekstrak kod bank dan pengecam cawangan memerlukan logik khusus negara. Hasilkan IBAN untuk setiap negara yang disokong untuk mengesahkan algoritma penguraian anda dengan betul mengenal pasti komponen ini.

Pengesahan Pematuhan: Peraturan kewangan sering memerlukan pengesahan IBAN sebelum pemprosesan. Gunakan alat ini untuk mencipta kes ujian yang membuktikan sistem anda menolak digit semakan yang tidak sah dan format yang salah—penting untuk jejak audit.

Pendidikan dan Dokumentasi

Pendidikan Standard Perbankan: Pelajar yang mempelajari sistem pembayaran antarabangsa mendapat manfaat daripada melihat struktur IBAN sebenar. Hasilkan contoh dari pelbagai negara untuk menggambarkan cara piawaian berfungsi merentasi sistem perbankan yang berbeza.

Dokumentasi API: Daripada menggunakan IBAN yang berpotensi sebenar dalam dokumentasi teknikal anda, hasilkan contoh yang bersih. Dokumentasi dengan frasa seperti "Gunakan IBAN DE89370400440532013000 untuk ujian" serta-merta memberitahu pembangun bahawa ini adalah nilai ujian yang selamat.

Operasi Data

Penampalan Pangkalan Data: Persekitaran pembangunan dan peringkat memerlukan data ujian yang realistik. Hasilkan IBAN yang pelbagai untuk mengisi pangkalan data anda dengan profil pelanggan antarabangsa yang representative tanpa kebimbangan privasi.

Penganonimi Data: Memindahkan dari pengeluaran ke peringkat? Gantikan IBAN sebenar dengan yang dijana yang mengekalkan kesahihan format untuk ujian sambil mengalih keluar maklumat sensitif. Kritikal untuk pematuhan GDPR dalam persekitaran pembangunan.

Alternatif dan Bila Untuk Menggunakannya

Alat yang berbeza sesuai untuk keperluan yang berbeza. Berikut adalah perbandingan yang jujur:

API Perbankan Komersial (contohnya Stripe, Adyen)

Terbaik untuk pengesahan produksi berbanding pendaftaran bank sebenar. Perkhidmatan ini menyemak sama ada IBAN sepadan dengan akaun aktif, bukan sekadar sama ada formatnya betul.

Gunakan apabila: Anda perlu mengesahkan bahawa IBAN wujud dan boleh menerima pembayaran, bukan sekadar struktur yang sah.

Batasan: Memerlukan bayaran (biasanya harga per panggilan API), memerlukan kerja integrasi, dan anda masih memerlukan IBAN ujian untuk pembangunan—di sinilah alat ini berguna.

Perpustakaan Bahasa Pengaturcaraan (ibantools, iban.js, python-stdnum)

Terbaik untuk pengesahan terbenam dalam kod aplikasi anda. Perpustakaan seperti ibantools untuk JavaScript atau python-stdnum untuk Python menyediakan fungsi pengesahan dan penghasilan.

Gunakan apabila: Anda memerlukan akses pengaturcaraan sebagai sebahagian daripada pengesahan pembinaan atau masa larian.

Batasan: Memerlukan usaha pembangunan untuk diintegrasikan, dan anda masih memerlukan cara pantas untuk menguji IBAN tertentu semasa nyahpepijat. Di sinilah alat web lebih pantas daripada menulis skrip ujian.

Pendaftaran IBAN SWIFT

Pendaftaran IBAN rasmi yang diselenggarakan oleh SWIFT menyenaraikan semua format negara dan peraturan pengesahan. Ia adalah sumber yang paling berkuasa.

Gunakan apabila: Anda melaksanakan sokongan IBAN dari awal dan memerlukan spesifikasi rasmi.

Batasan: Ia adalah dokumentasi, bukan alat. Anda masih perlu membina atau mencari sesuatu untuk benar-benar menghasilkan dan mengesahkan IBAN berdasarkan spesifikasi tersebut.

Pengesah Bank Rasmi

Banyak bank negara menyediakan pengesah khusus negara (contohnya Bundesbank untuk IBAN Jerman). Ini sangat tepat untuk negara tertentu.

Gunakan apabila: Anda hanya bekerja dengan satu negara dan memerlukan butiran pengesahan bank.

Batasan: Fokus pada satu negara. Jika anda membina sistem pembayaran antarabangsa, anda memerlukan pengesah untuk setiap negara.

Bila Alat Ini Masuk Akal

Gunakan alat ini apabila anda memerlukan ujian pantas tanpa integrasi API. Ia sangat berguna semasa pembangunan dan nyahpepijat apabila anda perlu menghasilkan data ujian yang sah serta-merta atau mengesahkan mengapa IBAN tertentu gagal pengesahan. Ia tidak akan menggantikan perpustakaan pengesahan tahap produksi dalam kod anda, tetapi ia lebih pantas daripada menulis skrip ujian yang dibuang.

Soalan Lazim

Apakah itu IBAN dan mengapa ia penting?

IBAN bermaksud Nombor Akaun Bank Antarabangsa—format piawai yang dicipta oleh Pertubuhan Piawai Antarabangsa (ISO) untuk mengurangkan ralat dalam pembayaran rentas sempadan. Sebelum IBAN, setiap negara menggunakan format nombor akaun sendiri, yang menyebabkan kesilapan kerap dan pemindahan gagal. IBAN menambah kod negara dan digit semakan untuk mengesan ralat sebelum wang bergerak.

Seberapa tepat IBAN yang dijana?

IBAN yang dijana adalah betul dari segi matematik dan lulus algoritma pengesahan MOD 97 yang ditakrifkan dalam ISO 13616. Mereka mengikuti struktur khusus negara yang betul. Walau bagaimanapun, mereka dijana secara rawak dan tidak sepadan dengan akaun bank sebenar—itulah tujuannya. Mereka selamat untuk pengujian kerana mereka tidak akan secara tidak sengaja menyentuh akaun sebenar.

Negara manakah yang disokong oleh alat ini?

Kini 10 negara Eropah: Jerman, United Kingdom, Perancis, Sepanyol, Itali, Belanda, Switzerland, Austria, Belgium, dan Poland. Ini meliputi format IBAN yang paling biasa anda akan temui dalam sistem pembayaran Eropah. Perlukan negara lain? Borang maklum balas adalah cara terbaik untuk meminta tambahan.

Bolehkah saya menggunakan IBAN yang dijana untuk pemindahan wang sebenar?

Sama sekali tidak. Ini hanya IBAN ujian. Mereka lulus pengesahan format tetapi tidak disambungkan dengan akaun bank sebenar. Menggunakannya untuk transaksi sebenar akan mengakibatkan kegagalan atau penolakan pembayaran. Mereka dimaksudkan untuk pembangunan, pengujian, dan tujuan pendidikan sahaja.

Bagaimana pengesahan IBAN sebenarnya berfungsi?

Penggesah menjalankan empat semakan berturut-turut:

  1. Kod negara: Adakah ia kod dua huruf yang diiktiraf?
  2. Panjang: Adakah ia sepadan dengan panjang yang diperlukan untuk negara itu? (Jerman = 22, UK = 22, Perancis = 27, dll.)
  3. Jenis aksara: Adakah huruf dan nombor berada di kedudukan yang betul berdasarkan format negara?
  4. Semakan MOD 97: Adakah jumlah semakan matematik sama dengan 1 mengikut ISO 7064?

Jika mana-mana semakan gagal, anda akan melihat mesej ralat khusus yang menjelaskan apa yang salah.

Adakah ruang penting dalam IBAN?

Tidak untuk pengesahan. IBAN biasanya dipaparkan dengan ruang (kumpulan empat) untuk kebolehbacaan, tetapi ruang adalah kosmetik. DE89 3704 0044 0532 0130 00 dan DE89370400440532013000 adalah identik untuk tujuan pengesahan. Alat ini mengendalikan kedua-dua format secara automatik.

Adakah data saya dihantar ke pelayan atau disimpan di mana-mana?

Tidak. Semuanya berjalan dalam pelayar anda menggunakan JavaScript. Tiada data IBAN meninggalkan mesin anda, menyentuh pelayan, atau disimpan di mana-mana. Anda boleh mengesahkan ini dengan membuka alat pembangun pelayar dan melihat tab rangkaian—anda tidak akan melihat sebarang permintaan semasa menjana atau mengesahkan IBAN.

Apa yang perlu saya lakukan jika perlu mengesahkan IBAN dari negara yang tidak disenaraikan?

Alat ini kini hanya menyokong 10 negara dalam menu tarik turun. Menambah lebih banyak memerlukan pelaksanaan peraturan format khusus setiap negara. Jika anda memerlukan pengesahan untuk negara seperti Norway, Sweden, atau yang lain, beritahu kami melalui borang maklum balas—kami mengutamakan tambahan berdasarkan permintaan.

Mengapa IBAN yang diformat dengan betul gagal pengesahan?

Sebab yang paling biasa:

  • Digit semakan salah: Walaupun satu digit salah gagal ujian MOD 97
  • Ralat taip: Aksara yang ditukar atau digit salah di mana-mana dalam IBAN
  • Panjang salah: Aksara yang hilang atau tambahan untuk negara itu
  • Aksara tidak sah: Huruf di mana hanya nombor dibenarkan, atau sebaliknya
  • Negara tidak disokong: Kod negara wujud tetapi tidak dalam senarai yang disokong

Mesej ralat akan memberitahu anda secara khusus apa yang salah.

Bagaimana saya boleh melaporkan pepijat atau meminta ciri?

Gunakan borang maklum balas di bahagian bawah halaman. Laporan pepijat khusus dengan contoh IBAN adalah paling membantu. Untuk permintaan ciri, menjelaskan kes penggunaan anda membantu menetapkan keutamaan apa yang akan dibina seterusnya.

Apakah perbezaan antara IBAN dan kod SWIFT/BIC?

IBAN mengenal pasti akaun bank tertentu, manakala kod SWIFT/BIC mengenal pasti bank atau cawangan bank. Fikirkan begini: kod SWIFT memberitahu anda bank mana, IBAN memberitahu anda akaun mana di bank itu. Untuk pemindahan antarabangsa, anda sering memerlukan kedua-duanya—kod SWIFT menghantar ke bank yang betul, kemudian IBAN menghantar ke akaun tertentu.

Bolehkah saya mengesahkan IBAN tanpa mengetahui negara?

Ya, kerana dua huruf pertama setiap IBAN adalah kod negara. Penggesah membaca dua aksara pertama untuk menentukan format negara yang mana untuk digunakan. Inilah sebabnya pengesanan negara berlaku secara automatik apabila anda menampal IBAN—tiada keperluan untuk memilih negara secara manual.

Adakah terdapat format IBAN untuk negara di luar Eropah?

Ya, tetapi lebih sedikit. Walaupun IBAN berasal di Eropah dan mempunyai penerimaan tertinggi di sana, negara seperti Arab Saudi, UAE, Brazil, dan lain-lain telah menggunakannya. Alat ini kini fokus pada format Eropah kerana ia mewakili majoriti transaksi rentas sempadan. Pendaftaran IBAN SWIFT mengekalkan senarai lengkap.

Cara Membaca dan Menterjemahkan IBAN

Pernahkah anda melihat IBAN seperti DE89370400440532013000 dan tertanya-tanya apa maksud setiap bahagiannya? Berikut adalah cara menterjemahkan mana-mana IBAN:

Langkah 1: Kod Negara (2 aksara pertama)

  • DE = Jerman
  • Menunjukkan peraturan format negara yang berlaku

Langkah 2: Digit Semakan (2 aksara seterusnya)

  • 89 = checksum yang dikira
  • Digit ini mengesahkan keseluruhan IBAN adalah sah menggunakan MOD 97

Langkah 3: Kod Bank (Berbeza mengikut negara)

  • 37040044 dalam IBAN Jerman = pengecam bank 8 digit
  • Negara yang berbeza menggunakan panjang yang berbeza (UK menggunakan 4 aksara)

Langkah 4: Nombor Akaun (Aksara yang tinggal)

  • 0532013000 = nombor akaun sebenar di bank tersebut
  • Panjang dan format bergantung kepada negara

Negara yang berbeza mengatur bahagian BBAN dengan cara yang berbeza. IBAN UK termasuk kod susunan 6 digit (pengecam cawangan) antara kod bank dan nombor akaun. IBAN Perancis menggabungkan kod bank, kod cawangan, dan nombor akaun dengan kunci semakan. Memahami perbezaan ini adalah penting apabila mengurai IBAN secara programatik.

Ralat Pengesahan IBAN Biasa dan Cara Membetulkannya

Apabila melaksanakan pengesahan IBAN, anda akan berulang kali menghadapi isu-isu ini:

Ralat "Digit Semakan Tidak Sah"

Punca: Pengiraan MOD 97 tidak sama dengan 1. Sama ada digit semakan salah, atau terdapat ralat di tempat lain dalam IBAN.

Penyelesaian: Jalankan semula pengesahan selepas membetulkan sebarang kesilapan taip. Walaupun satu aksara yang salah di mana-mana bahagian IBAN menyebabkan kegagalan digit semakan. Ini adalah reka bentuk—ia mengesan ralat kemasukan data.

Ralat "Panjang Tidak Betul untuk Negara"

Punca: IBAN mempunyai terlalu banyak atau terlalu sedikit aksara untuk kod negaranya.

Penyelesaian: Sahkan kod negara sepadan dengan negara yang dimaksudkan. IBAN Jerman sentiasa 22 aksara, IBAN UK adalah 22, IBAN Perancis adalah 27. Aksara yang hilang atau tambahan menunjukkan pemotongan atau data yang salah.

Ralat "Aksara Tidak Sah"

Punca: Aksara yang tidak sepatutnya muncul pada kedudukan tersebut—seperti huruf di mana hanya nombor dibenarkan.

Penyelesaian: Semak format khusus negara. Contohnya, IBAN Jerman adalah semuanya numerik selepas kod negara dan digit semakan, manakala IBAN UK termasuk 4 huruf untuk kod bank.

Ralat "Kod Negara Tidak Disokong"

Punca: Dua huruf pertama bukan kod negara yang diiktiraf, atau tidak disokong oleh pengecam anda.

Penyelesaian: Sahkan ejaan kod negara. Kesilapan biasa termasuk menggunakan UK dan bukannya GB, atau EN dan bukannya kod negara. Alat ini menyokong 10 negara Eropah; pengecam produksi perlu menyokong semua negara pendaftaran SWIFT.

Format lwn Kewujudan Akaun

Perbezaan penting: pengesahan mengesahkan IBAN adalah betul dari segi struktur, bukan bahawa akaun itu wujud. Sebuah IBAN boleh lulus semua semakan pengesahan tetapi masih tidak sepadan dengan akaun bank sebenar. Untuk sistem pembayaran produksi, anda memerlukan pengesahan tambahan di luar pengesahan format.

Pelaksanaan Teknikal untuk Pembangun

Jika anda membina sokongan IBAN ke dalam aplikasi anda, berikut adalah contoh kod yang telah diuji dalam pelbagai bahasa. Pelaksanaan ini menangani kes-kes pinggir yang anda akan temui dalam pengeluaran:

Pengesahan IBAN

1function validateIban(iban) {
2  // Buang ruang dan tukar kepada huruf besar
3  const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4  
5  // Semak format asas
6  if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7    return false;
8  }
9  
10  // Susun semula dan tukar huruf kepada nombor
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  // Kira 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// Contoh penggunaan
29console.log(validateIban('DE89 3704 0044 0532 0130 00')); // benar
30console.log(validateIban('GB29 NWBK 6016 1331 9268 19')); // benar
31console.log(validateIban('DE89 3704 0044 0532 0130 01')); // salah (digit semakan tidak sah)
32

Penghasilan 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    // Tambah negara lain mengikut keperluan
7  };
8  
9  if (!countryFormats[countryCode]) {
10    throw new Error(`Kod negara ${countryCode} tidak disokong`);
11  }
12  
13  // Hasilkan BBAN rawak berdasarkan corak negara
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      // Hasilkan aksara numerik
24      for (let j = 0; j < count; j++) {
25        bban += Math.floor(Math.random() * 10);
26      }
27    } else if (type === 'a') {
28      // Hasilkan aksara alfabetik
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      // Hasilkan aksara alfanumerik
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  // Kira digit semakan
48  const checkDigits = calculateCheckDigits(countryCode, bban);
49  
50  return countryCode + checkDigits + bban;
51}
52
53function calculateCheckDigits(countryCode, bban) {
54  // Cipta IBAN awal dengan '00' sebagai digit semakan
55  const initialIban = countryCode + '00' + bban;
56  
57  // Susun semula dan tukar huruf kepada nombor
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  // Kira 98 tolak 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// Contoh penggunaan
77console.log(generateIban('DE')); // Hasilkan IBAN Jerman yang sah
78console.log(generateIban('GB')); // Hasilkan IBAN UK yang sah
79

Rujukan dan Bacaan Lanjut

  1. ISO 13616-1:2007 - Spesifikasi struktur rasmi IBAN
  2. Pendaftaran SWIFT IBAN - Sumber berkuasa untuk format IBAN negara tertentu
  3. ISO 7064:2003 - Spesifikasi algoritma digit semakan MOD 97
  4. Majlis Pembayaran Eropah - SEPA - Dokumentasi Kawasan Pembayaran Tunggal Euro
  5. Bank Pusat Eropah - Sistem Pembayaran - Standard integrasi perbankan Eropah
  6. Bank untuk Penyelesaian Antarabangsa - Sistem Pembayaran - Standard sistem pembayaran antarabangsa

Mula Menguji IBAN

Perlukan data ujian untuk sistem pembayaran anda? Hasilkan IBAN yang sah untuk mana-mana negara yang disokong di atas, atau tampal IBAN sedia ada untuk mengesahkan strukturnya. Alat ini berjalan sepenuhnya dalam pelayar anda—tiada pendaftaran, tiada kunci API, tiada data dihantar ke pelayan.

Petua pantas: Hasilkan IBAN dari pelbagai negara untuk menguji kes-kes pinggir. Sistem pembayaran dunia sebenar mengendalikan format yang pelbagai, dan menguji dengan format hanya satu negara adalah sumber biasa ralat pengeluaran.

đź”—

Alat Berkaitan

Temui lebih banyak alat yang mungkin berguna untuk aliran kerja anda