PHP ile TC Kimlik Numarası Doğrulama Fonksiyonu
Blog'a Dön

PHP ile TC Kimlik Numarası Doğrulama Fonksiyonu

Buğra Şıkel

PHP ile TC Kimlik No doğrulama

Türkiye Cumhuriyeti Kimlik Numarası (TC Kimlik No), ülkemizde bireylerin kimliğini doğrulamak için kullanılan 11 haneli benzersiz bir sayısal koddur. Web uygulamaları geliştirenler için, bu numaranın doğruluğunu kontrol etmek güvenlik ve veri bütünlüğü açısından oldukça kritik bir adımdır. Bu yazıda, PHP kullanarak TC Kimlik Numarası doğrulama fonksiyonu nasıl oluşturulur ve bu işlevin uygulanmasında dikkat edilmesi gereken noktalar nelerdir, bunları ele alacağız.

  • Uzunluk Kontrolü: TC Kimlik Numarası’nın uzunluğunun 11 karakter olup olmadığı kontrol ediliyor. Eğer 11 karakter değilse, false döndürülüyor.
  • Sayısal Olma Kontrolü: TC Kimlik Numarası’nın sadece rakamlardan oluşup oluşmadığı kontrol ediliyor. Eğer içinde rakam dışı karakter varsa, false döndürülüyor.
  • İlk Karakterin Sıfır Olmama Kontrolü: TC Kimlik Numarası’nın ilk karakterinin sıfır ( 0) olup olmadığı kontrol ediliyor. Eğer ilk karakter sıfırsa, false döndürülüyor.
  • 10. Hanenin Doğruluğu: 1., 3., 5., 7. ve 9. hanelerin toplamı 7 ile çarpılır ve 2., 4., 6. ve 8. hanelerin toplamı çıkarılır. Bu işlem sonucu elde edilen değerin 10 ile bölümünden kalan, TC Kimlik Numarası’nın 10. hanesi ile aynı mı diye kontrol edilir. Eğer aynı değilse,  false döndürülüyor.
  • 11. Hanenin Doğruluğu: 1., 2., 3., 4., 5., 6., 7., 8., 9. ve 10. hanelerin toplamının 10’a bölümünden kalan, TC Kimlik Numarası’nın 11. hanesi ile aynı mı diye kontrol edilir. Eğer aynı değilse,  false döndürülüyor.
  • Doğru TC Kimlik Numarası: Tüm kontrollerden geçilirse, numara doğru kabul edilip  true döndürülüyor.
function isValidTCKN($tckn) {

    if (strlen($tckn) != 11) {
        return false;
    }

    if (!ctype_digit($tckn)) {
        return false;
    }

    if ($tckn[0] == '0') {
        return false;
    }

    $totalOdd = $tckn[0] + $tckn[2] + $tckn[4] + $tckn[6] + $tckn[8];
    $totalEven = $tckn[1] + $tckn[3] + $tckn[5] + $tckn[7];

    $checkSum10 = (($totalOdd * 7) - $totalEven) % 10;
    if ($checkSum10 != $tckn[9]) {
        return false;
    }

    $totalAll = $totalOdd + $totalEven + $tckn[9];
    $checkSum11 = $totalAll % 10;
    if ($checkSum11 != $tckn[10]) {
        return false;
    }

    return true;
}

 

Bunları da beğenebilirsiniz

Edge Cihazlarda TensorRT ile Gerçek Zamanlı Multimodal Anomali Tespiti
31 Ocak 2026

Edge Cihazlarda TensorRT ile Gerçek Zamanlı Multimodal Anomali Tespiti

Endüstriyel üretim hatlarında kalite kontrol ve arıza tespiti için multimodal anomali tespitinin önemi ve TensorRT ile edge cihazlarda nasıl gerçek zamanlı optimize edildiğini keşfedin.

Devamını Oku
Javascript ile Sekmeler Arası Senkronizasyon
7 Ocak 2023

Javascript ile Sekmeler Arası Senkronizasyon

Merhabalar, bu yazımızda javascript kullanarak tarayıcı sekmeleri arasında senkronizasyonu sağlayacak kodlamayı yapacağız. Çoğu zaman bir web projemizde kullanıcılar birden fazla sekme açıp gezinme yapabilmekte. Bir…

Devamını Oku
Üretim Hattında Otonom Eylemleri Senkronize Etmek İçin Dağıtık Konsensüs: Endüstriyel AI Kararları
2 Mart 2026

Üretim Hattında Otonom Eylemleri Senkronize Etmek İçin Dağıtık Konsensüs: Endüstriyel AI Kararları

Endüstriyel yapay zeka sistemlerinde otonom eylemleri güvenilir bir şekilde senkronize etmek için dağıtık konsensüs mekanizmalarının önemini ve uygulama yöntemlerini keşfedin. Üretim hattındaki verimliliği ve güvenliği artırmak için bu teknolojilerin nasıl kullanılabileceğini öğrenin.

Devamını Oku
AI Asistan