PHP ile tc kimlik numarası doğrulama algoritması ile tc kontrolü fonksiyon kodlarına ulaşabilirsiniz.
PHP ile tc kimlik numarası doğrulama algoritması ile tc kontrolü fonksiyon kodlarına ulaşabilirsiniz.

Türkiye'de her bireye özgü olan TC Kimlik Numarası, kişilerin kimlik tespiti ve bazı resmi işlemler için kullanılan bir numaradır. TC Kimlik Numarası'nın geçerliliğini doğrulamak için belirli bir algoritma kullanılır. Bu makalede, TC Kimlik doğrulama algoritmasını ve PHP dilinde bu algoritmayı nasıl uygulayabileceğimizi ele alacağız.

TC Kimlik Doğrulama Algoritması

TC Kimlik Numarası'nın doğruluğunu kontrol etmek için aşağıdaki adımlar izlenir:

  1. TC Kimlik Numarası 11 haneli olmalıdır. Eğer gelen numara 11 hane içermiyorsa, doğrulama başarısız sayılır.
  2. İlk hane sıfır olamaz. Yani, TC Kimlik Numarası'nın ilk karakteri 0 olmamalıdır. Bu kurala uymayan numaralar doğrulama başarısız kabul edilir.
  3. Tüm karakterlerin sayı olması gerekmektedir. Eğer TC Kimlik Numarası içinde sayılar dışında başka karakterler bulunuyorsa, doğrulama başarısız olur.
  4. İlk 10 hane toplamının 10'a bölümünden kalan, 11. haneyi verir. Yani, TC Kimlik Numarası'nın ilk 10 hanesini alıp bu hanelerin toplamını alırız. Bu toplamın 10'a bölümünden kalan, 11. hanenin değerine eşit olmalıdır. Bu kurala uymayan numaralar doğrulama başarısız kabul edilir.
  5. İkinci ve üçüncü haneler 0-9 aralığında olmalıdır. Yani, TC Kimlik Numarası'nın ikinci ve üçüncü haneleri 0 ile 9 arasında bir değer almalıdır. Bu kurala uymayan numaralar doğrulama başarısız sayılır.

Yukarıdaki adımları izleyerek TC Kimlik Numarası'nın geçerliliğini kontrol edebiliriz. Şimdi, bu algoritmayı PHP dilinde nasıl uygulayabileceğimize bakalım. Aşağıda, PHP dilinde TC Kimlik doğrulama işlevini gerçekleştiren bir örnek kod verilmiştir:

PHP TC Kimlik Kontrolü Kodları

function tcKimlikDogrula($tcKimlikNo) {

// TC Kimlik numarası 11 haneli olmalıdır

if (strlen($tcKimlikNo) !== 11) {

return false;

}

// İlk hane sıfır olamaz

if ($tcKimlikNo[0] === '0') {

return false;

}

// Tüm karakterler sayı olmalıdır

if (!ctype_digit($tcKimlikNo)) {

return false;

}

// İlk 10 hane toplamının mod 10'u, 11. haneyi verir

$ilkOnHane = substr($tcKimlikNo, 0, 10);

$onbirinciHane = $tcKimlikNo[10];

$ilkOnHaneToplam = 0;

for ($i = 0; $i < 9; $i++) {

$ilkOnHaneToplam += (int)$ilkOnHane[$i];

}

$ilkOnHaneKontrol = $ilkOnHaneToplam % 10;

if ($ilkOnHaneKontrol !== (int)$onbirinciHane) {

return false;

}

// İkinci ve üçüncü haneler 0-9 aralığında olmalıdır

$ikinciHane = (int)$tcKimlikNo[1];

$ucuncuHane = (int)$tcKimlikNo[2];

if ($ikinciHane < 0 || $ikinciHane > 9 || $ucuncuHane < 0 || $ucuncuHane > 9) {

return false;

}

// Tüm kontrolleri geçtiyse TC Kimlik numarası geçerlidir

return true;

}

// Kullanım örneği

$tcKimlikNo = "12345678901";

if (tcKimlikDogrula($tcKimlikNo)) {

echo "TC Kimlik numarası geçerlidir.";

} else {

echo "Geçersiz TC Kimlik numarası.";

}

Yukarıdaki örnekte, tcKimlikDogrula adlı bir işlev tanımlanmıştır. Bu işlev, parametre olarak bir TC Kimlik numarası alır ve numaranın geçerliliğini kontrol eder. İşlev, belirli adımları takip ederek TC Kimlik numarasının geçerliliğini doğrular.

İşlevin içindeki adımları kısaca açıklayalım:

  • İlk olarak, TC Kimlik numarasının 11 haneli olup olmadığı kontrol edilir. Değilse, doğrulama başarısız olarak kabul edilir.
  • Ardından, ilk hane sıfır olamaz kuralı kontrol edilir. Eğer ilk hane sıfıra eşitse, doğrulama başarısız sayılır.
  • Daha sonra, tüm karakterlerin sayı olup olmadığı kontrol edilir. Eğer karakterler arasında sayılar dışında bir karakter bulunursa, doğrulama başarısız kabul edilir.
  • İlk 10 hane toplamının 10'a bölümünden kalanın, 11. hanenin değerine eşit olup olmadığı kontrol edilir.
  • Sonraki adımda, TC Kimlik numarasının ikinci ve üçüncü hanelerinin 0-9 aralığında olması gerektiği kontrol edilir. Eğer bu koşul sağlanmazsa, doğrulama başarısız olarak kabul edilir.
  • Tüm bu adımları takip eden işlev, TC Kimlik numarasının geçerliliğini kontrol eder. Eğer numara tüm kontrolleri geçerse, true değeri döndürülür ve "TC Kimlik numarası geçerlidir." mesajı ekrana yazdırılır. Aksi halde, false değeri döndürülür ve "Geçersiz TC Kimlik numarası." mesajı ekrana yazdırılır.

Bu örnek kod parçası, TC Kimlik numarasının doğruluğunu basit bir şekilde kontrol etmek için kullanılabilir. Ancak, gerçek bir uygulamada daha kapsamlı bir doğrulama süreci gerekebilir. Örneğin, veritabanında kayıtlı olan TC Kimlik numaralarıyla karşılaştırma veya diğer kimlik doğrulama yöntemlerinin entegrasyonu gibi ek kontroller yapılabilir.

Konu hakkında yorumlarınızı bekliyorum teşekkürler. Konunun alıntı veya yasal olmayan bir durum arz ettiğini düşünüyorsanız iletişim yolu ile bize ulaşarak bildirebilirsiniz hak ihlali durumlarında 3 iş günü içerisinde konu kaldırılacaktır. Dipnot...! Kırık ve eksik linki yorum olarak bildirin konu 24 saat içerisinde düzenlenecektir.

Takip edebileceğiniz bağlantılar :