Javascript ile TC Kimlik Numarası Kontrolü

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.

Beğen  
Yazar

Makine mühendisliği mezunu bir yazılım uzmanıyım. Otomasyon ve back-end programlama üzerine çalışmaktayım. .net, MVC, ve PHP ile web, masaüstü, ve mobil uygulamalar geliştirmekteyim.

Bir Cevap Yazın

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