16.12.2009

Altan Tanrıverdi | Yazılım | 3 yorum

PHP ile IBAN Doğrulama

PHP ile IBAN Doğrulama

IBAN doğrulaması gerektiren bir proje için geliştirdiğim fonksiyon aşağıda bulunuyor.

Resmi gazetede yayınlanan kriterlere uygun hazırlamaya çalıştım. Yaptığım testler %100 doğru döndü ancak, sizden de test sonuçlarını iletmenizi rica ediyorum. (Not: BC Math kullanır.)

 

 

 

<?php

// CopyLeft  javam.org tarafından yayınlanmıştır.

function ibanDogrula ($deger) {
    $iban = false;
    $deger = strtoupper(trim($deger));
    if(preg_match('/^TR\d{7}0[A-Z0-9]{16}$/', $deger)) {
        $sayi = substr($deger,4,22).'2927'.substr($deger,2,2);
        $sayi = str_replace(
            array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'),
            array(10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35),
            $sayi
        );
        $iban = (1 == bcmod($sayi,97)) ? true:false;
    }
return $iban;
}
  1. Teşekkürler..!

  2. fikret diyor ki:

    Elinize sağlık

    Regex doğrulama
    ^TR\d{7}0[A-Z0-9]{16}$
    yerine
    ^TR\d{6}0[A-Z0-9]{16}$

    olması gerekmez mi?
    TR + (6 herhangi digit) + ‘0′ digiti + ‘A-Z veya 0-9 16 digit’ şeklinde anladım.

  3. fikret diyor ki:

    son gönderdiğim yorumu iptal edebilirsiniz.
    RegEx doğrulamada bir sorun yok.
    Tekrar elinize sağlık.

Trackbacks/Pingbacks

  1. Faideli Bağlantılar #4 « Vuska Blog - [...] yine jquery’den. #17 : Mükemmel bir javascript grafik altyapısı.Yemede yanında yat. #18 : IBAN banka numarası doğrulama fonksiyonu,Javam ORG ...

Cevap gönder