Javascript ile TC kimlik no doğrulama
Ceviz forumda okudum. “TC kimlik numarasının ilk 10 rakamının toplamının verdiği sonucun 1′ler basamağı 11. sayıya eşitir.” bunun için bir javascript kodu yazdım. Sizlerede lazım olur diye buraya yazıyorum.
javascript kodu:
function tckimlikkontorolu(tcno)
{
var tckontrol,toplam;
tckontrol = tcno;
tcno = tcno.value;
toplam = Number(tcno.substring(0,1)) + Number(tcno.substring(1,2)) + Number(tcno.substring(2,3)) + Number(tcno.substring(3,4)) + Number(tcno.substring(4,5)) + Number(tcno.substring(5,6)) + Number(tcno.substring(6,7)) + Number(tcno.substring(7,8)) + Number(tcno.substring(8,9)) + Number(tcno.substring(9,10));
strtoplam = String(toplam);
onunbirlerbas = strtoplam.substring(strtoplam.length, strtoplam.length-1);
if(onunbirlerbas == tcno.substring(10,11))
{
alert("doğru");
}
else{
alert("yanlış");
}
}
html kodu:
<input name="tckimlikno" type="text" id="tckimlikno" onblur="tckimlikkontorolu(this);" maxlength="11" />
Ben bu kodu blur ile tetikledim siz bunu değiştirebilirsiniz. Çalışan kodu görmek için tıklayınız.
Linkte iki tane farklı Tc no Doğrulama functionu var,C# ve VB için
V2 olan algoritma dogrulaması yapıyor. diğeri amele usulü.
Burda tc numarasının algortimik olarak doğrulu hakkında bir yazı yazılmış ama bunu direkt servisten yapamaz mıyız. Bu servisi kullanmak için üyelik gibi bir şey gerekmiyor mu?
http://www.tcno.org bu adreste servisin aynısı var. Nasıl yapmışlar bunu.
Buradaki amaç javascript ile kısa bir sorgu ile doğrulama yapmak
ewet kendi tcnizi teplayıp deneyebilirsiniz ilk gordüğümden manuel denedim yanlış bu teori..
46084638313 tcno su bu algoritmanın yanlış olduğunun kanıtı. Doğru olduğu söylesede program ,http://tckimlik.nvi.gov.tr/Web/VerifyIdentityNumb… ile doğruluk kontrolü yapınca böyle bir tcno olmadığı ve yanlış olduğu anlaşılıyor.
tc kimlik numaraları her zaman çift tir.
son rakam kontrol edilmelidir.
Bu methodun ilk satırı sanırım şöyle olmalı, tabi değer dödürüyorsak :)
if(tcno == ’00000000000′) return false;
Burda da isteyenler için asp.net için yazılmış hali var..
http://www.ugurcelenk.com/post/2008/02/TC-Kimlik-Numarasc4b1-Dogrulama.aspx
(öncdeden r10.net ve ceviz.net’te de yazmıştım bu kodu)
euhhue
kodları engelledi galiba wordpress < > yaptım öyle deneyelim
function tckimlik($no) {
if(strlen($no)==11) { # 11 haneli
for($a=0;$a<10;$a++) $toplam=$toplam+substr($no,$a,1);
$son=substr($no,-1);
$tson=substr($toplam,-1);
echo ($son==$tson)?"<script>alert(‘Do?ru’)</script>":"<script>alert(‘Yanl??’)</script>";
} else {
echo"tc no 11 haneli de?il ba?tan kay?p ettin :)";
}
}
bende php için yaptım fantezi olsun.
function tckimlik($no) { if(strlen($no)==11) { # 11 haneli for($a=0;$aalert('Doğru')":"alert('Yanlış')"; } else { echo"tc no 11 haneli değil baştan kayıp ettin :)"; } }Teşekkürler mutlaka lazım olur : )