TC kimlik numarasındaki son iki haneli doğrulama kodunu bulan JavaScript kodu

Doluxiz

Yeni üye
1 Ara 2020
44
17
Bütün TC kimlik numaraları çift rakamla bitiyor.
Kimlik numaraları 11 haneden oluşuyor. Ve numaraların iki bölümü bulunuyor. Esasında kimlik numaramız ilk 9 hane. Numaranın son iki hanesi ise, ilk dokuz hanenin “sağlamasını” yapılıyor. Çeşitli algoritma hesaplarıyla ortaya çıkan bu rakamın “tek sayı” olması, “matematik” olarak mümkün değil.

Kimlik numaralarının son 2 harfi, ilk 9 rakamının doğrulayıcısı özelliğine sahip. İlk 9 basamak arasında kurulan bir algoritma bize 10. basamağı, ilk 10 basamak arasında kurulan algoritma ise bize 11. basamağı verir.
Kimlik numaralarının ilk hanesi asla 0 olamaz.
* T.C. kimlik numaralarımızın 1. 3. 5. 7. ve 9. hanelerinin toplamının 7 katından, 2. 4. 6. ve 8. hanelerinin toplamı çıkartıldığında, elde edilen sonucun 10’a bölümünden kalan, yani mod 10’u bize 10. haneyi verir. 1. 2. 3. 4. 5. 6. 7. 8. 9. ve 10. hanelerin toplamından elde edilen sonucun 10’a bölümünden kalan, yani mod10’u bize 11. haneyi verir.

İnput gurişine kimlik numarasının ilk 9 hanesini yazın geri kalan 2 haneyi yazılım kendi tamamlıyor.

Kod:
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Ayır ve Ata</title>
</head>
<body>

  <label for="inputNumber">Kimlik doğrulama</label>
  <input type="number" id="inputNumber" maxlength="9" oninput="ayirVeAta()">
  <br><br>
  <div id="result"></div>
 
 
  <script>
    function ayirVeAta() {
      // Input değerini al
      var inputValue = document.getElementById("inputNumber").value;

   
     
     
   
      var d1 = parseInt(inputValue.charAt(0));
      var d2 = parseInt(inputValue.charAt(1));
      var d3 = parseInt(inputValue.charAt(2));
      var d4 = parseInt(inputValue.charAt(3));
      var d5 = parseInt(inputValue.charAt(4));
      var d6 = parseInt(inputValue.charAt(5));
      var d7 = parseInt(inputValue.charAt(6));
      var d8 = parseInt(inputValue.charAt(7));
      var d9 = parseInt(inputValue.charAt(8));

      var step1 = d1+d3+d5+d7+d9;
      var step2 = step1*7;
      var step3 = d2+d4+d6+d8;
      var step4 = step2-step3;
      var step5 = step4/10;
      var step6 = step5%1;
      var step7 = Math.round(step6 * 10);
      var step8 = d1+d2+d3+d4+d5+d6+d7+d8+d9+step7;
      var step9 = step8/10;
      var step10 = step9%1;
      var step11 = Math.round(step10 * 10);
     
   
      document.getElementById("result").innerHTML = "Kimlik: " + d1 + " - " + d2 + " - " + d3 + " - " + d4 + " - " + d5 + " - " + d6 + " - " + d7 + " - " + d8 + " - " + d9 + " - " +step7 + " - " + step11;
   
   
     
    }
  </script>

</body>
</html>
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.