T.C. Kimlik No Doğrulama

Türkiye Cumhuriyeti Kimlik Numarası, Nüfus ve Vatandaşlık İşleri Genel Müdürlüğü’nün uzun yıllardır yürüttüğü Mernis uygulamasının hayata geçmesiyle her vatandaşın nüfus cüzdanında bulunan bir numaradır.

Mernis projesinin sonucu olan kimlik numarası verilmesi sürecinde ülke nüfus kütüklerinde yer alan ölmüş olanlarda dahil olmak kaydıyla 1999 yılı sonu itibariyle 122.145.860 kişi kaydının veri olarak sisteme girilmesi tamamlanmıştır.

28 Ekim 2000’de her Türkiye Cumhuriyeti Vatandaşına tek bir Türkiye Cumhuriyeti Kimlik Numarası verilerek uygulamaya alınmıştır.

T.C. Kimlik No, onbir haneden oluşan, Nüfus ve Vatandaşlık İşleri Genel Müdürlüğü tarafından Türkiye Cumhuriyeti vatandaşlarına verilmiş 11 rakamdan oluşan kişiye özgü bir sayıdır.

(Kaynak: Wikipedia)

T.C. Kimlik No’nun kendi içinde basit birkaç kural ile numaranın doğruluğunu bulma özelliği bulunmaktadır, Bu kurallar ile bir T.C. Kimlik No’nun doğru olup olmadığını kontrol edebilirsiniz.

Bunlar kurallar şu şekildedir:

1. Toplam 11 rakamdan oluşmalıdır.

2. İlk rakam 0 olmamalıdır.

3. Rakamlardan 1., 3., 5., 7. ve 9. rakamlarının toplamının 7 katı ile, 2., 4., 6. ve 8. rakamlarının toplamının 9 katı toplandığında, elde edilen sonucun Mod10’u (yani birler basamağı veya diğer bir ifadeyle 10’a bölümünden kalan) 10. rakamını verir,

4. 1., 3., 5., 7., ve 9. rakamlarının toplamının 7 katından, 2., 4., 6., ve 8., rakamlarının toplamı çıkartıldığında, elde edilen sonucun Mod10’u 10. rakamı verir.

5. İlk 10 rakamın toplamının Mod10’u 11. rakamı verir.

6. 1., 3., 5., 7. ve 9. rakamların toplamının 8 katının Mod10’u 11. rakamı verir.

Örnek PHP Kodu:

function tckontrol($tc) {
    $tcs=str_split($tc);
    $tca=array();
    foreach($tcs as $k=>$t) {
        if(is_numeric($t)) {
            $tca[$k+1]=$t;
        }
    }
    if(count($tca)!=11) {
        return "T.C. Kimlik Numarası 11 rakamdan oluşmalıdır.";
    }elseif($tca[1]==0) {
        return "T.C. Kimlik Numarası 1. basamağı 0 olmamalıdır.";
    }else {
        $t13579=$tca[1]+$tca[3]+$tca[5]+$tca[7]+$tca[9];
        $t2468=$tca[2]+$tca[4]+$tca[6]+$tca[8];
        if( ( 7*$t13579 + 9*$t2468 )% 10 != $tca[10]) {
            return "T.C. Kimlik Numarası kendi içindeki doğrulama kontrollerinden geçememiştir, geçersizdir, kullanılamaz.";
        }
        elseif( ( 7*$t13579 - $t2468 )% 10 != $tca[10]) {
            return "T.C. Kimlik Numarası kendi içindeki doğrulama kontrolleriniden geçememiştir, geçersizdir, kullanılamaz.";
        }
        elseif( ( $t13579 + $t2468 + $tca[10] )% 10 != $tca[11]) {
            return "T.C. Kimlik Numarası kendi içindeki doğrulama kontrollerinden geçememiştir, geçersizdir, kullanılamaz.";
        }
        elseif( ( 8*$t13579 )% 10 != $tca[11]) {
            return "T.C. Kimlik Numarası kendi içindeki doğrulama kontrollerinden geçememiştir, geçersizdir, kullanılamaz.";
        }else {
            return "tc_dogru";
        }
    }
}

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.