Php Tc Doğrulama Fonsiyonu


T.C. Kimlik Numarasında Bulunması Gereken Özellikler
  • T.C. kimlik numaraları 11 hanedir ve tamamı rakamsal değerlerden oluşur.
  • T.C. kimlik numarasının ilk hanesi sıfır(0) olamaz.
  • 1. 3. 5. 7. ve 9. hanelerin toplamının 7 ile çarpımından 2. 4. 6. ve 8. haneler çıkartıldığında geriye kalan sayının 10′a göre modu bize 10. haneyi verir.
  • 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. hanelerin toplamının 10′a göre modu bize 11. haneyi verir.

Geçenlerde bir arkadaş sorunca arşivimi karıştırdım. Ve aşağıda paylaştığım, yukarıdaki kriterlere göre verilen numarayı kontrol eden , geçerli bir T.C. kimlik numarası olup olmadığını bize söyleyen fonksiyonu buldum. Her ne kadar kesin bir çözüm olmasa da T.C. kimlik numarasının algoritmasını bilmeyenleri engeller.


<?php  function tckimlik($tckimlik){ 
    
$olmaz=array('11111111110','22222222220','33333333330','44444444440','55555555550','66666666660','7777777770','88888888880','99999999990'); 
    if(
$tckimlik[0]==or !ctype_digit($tckimlik) or strlen($tckimlik)!=11){ return false;  } 
    else{ 
        for(
$a=0;$a<9;$a=$a+2){ $ilkt=$ilkt+$tckimlik[$a]; } 
        for(
$a=1;$a<9;$a=$a+2){ $sont=$sont+$tckimlik[$a]; } 
        for(
$a=0;$a<10;$a=$a+1){ $tumt=$tumt+$tckimlik[$a]; } 
        if((
$ilkt*7-$sont)%10!=$tckimlik[9] or $tumt%10!=$tckimlik[10]){ return false; } 
        else{  
            foreach(
$olmaz as $olurmu){ if($tckimlik==$olurmu){ return false; } } 
            return 
true
        } 
    } 

if(
tckimlik('11111111110')){ echo 'Tc Kimlik Numarası doğru!'; } else { echo 'Lütfen geçerli bir Tc Kimlik Numarası giriniz...'; }  ?>

0 yorum:

Yorum Gönder

Not: Yalnızca bu blogun üyesi yorum gönderebilir.