Javascript ile TC Kimlik Numarası Kontrolü

javascript tc kimlik doğrulama

Bilindiği üzere TC kimlik numaraları sadece 11 haneli basit bir rakamdan ibaret değil. Bir kaç formülü sağlayacak şekilde çalışmakta veriliyor. Web sayfalarında kullanıcılardan istediğim TC kimlik numarasını sadece uzunluk ile kontrol etmek yeterli olmuyur.  Bu aşamada kişilerin 11 haneli rastgele bir numara girerek geçmesini arayüzde önlemek için basit bir javascript kütüphanesi derledim.

TC kimlik numaralarının arkasında yatan formüllere değinmek istemiyorum zira google’a sorarsanız bir çok kaynağa ulaşabilirsiniz.

Doğrulama fonksiyonu şu şekilde :


function tcnoKontrol(kimlikno) {
	  kimlikno = kimlikno.toString();
	  var uzunluk = /^[0-9]{11}$/.test(kimlikno);
	  var toplamX1 = 0;
	  for (var i = 0; i < 10; i++) {
	    toplamX1 += Number(kimlikno.substr(i, 1));
	  }
	  var kural1 = toplamX1 % 10 == kimlikno.substr(10,1);
	  var toplamY1 = 0;
	  var toplamY2 = 0;
	  for (var i = 0; i < 10; i+=2) {
	    toplamY1 += Number(kimlikno.substr(i, 1));
	  }
	  for (var i = 1; i < 10; i+=2) {
	    toplamY2 += Number(kimlikno.substr(i, 1));
	  }
	  var kural2 = ((toplamY1 * 7) - toplamY2) % 10 == kimlikno.substr(9,0);
	  return uzunluk && kural1 && kural2;
};

Kullanımı ise oldukça basit.


var kontrol = tcnoKontrol(tckimlik numarası); // girilen kimlik numarası doğru ise true değer döner.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir