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 İle T.C. Kimlik No Doğrulama Fonksiyonu
<?php
function tckimlik($tckimlik){
$olmaz=array('11111111110','22222222220','33333333330','44444444440','55555555550','66666666660','7777777770','88888888880','99999999990');
if($tckimlik[0]==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...'; }
?>Kaynak: http://www.ahmetiscan.web.tr/php-ile...ma-fonksiyonu/
