Mehmet Fatih İçin

🪪 TC Kimlik No Doğrulama

Bir TC kimlik numarasının matematiksel olarak geçerli olup olmadığını kontrol eder. Kişi bilgisi sorgulamaz; numaranın gerçek bir kişiye ait olduğunu göstermez. Form doğrulaması yazan geliştiriciler için kod örnekleri aşağıda.

TC kimlik numarası algoritması

  1. 11 hanelidir, ilk hane 0 olamaz.
  2. 1, 3, 5, 7 ve 9. hanelerin toplamının 7 katından 2, 4, 6 ve 8. hanelerin toplamı çıkarılır; sonucun 10'a bölümünden kalan 10. haneyi verir.
  3. İlk 10 hanenin toplamının 10'a bölümünden kalan 11. haneyi verir.

C# ile TC kimlik doğrulama

public static bool IsValidTckn(string t)
{
    if (t is not { Length: 11 } || t[0] == '0' || !t.All(char.IsDigit)) return false;
    var d = t.Select(c => c - '0').ToArray();
    int odd = d[0] + d[2] + d[4] + d[6] + d[8], even = d[1] + d[3] + d[5] + d[7];
    if (((odd * 7 - even) % 10 + 10) % 10 != d[9]) return false;
    return d.Take(10).Sum() % 10 == d[10];
}

JavaScript ile TC kimlik doğrulama

function isValidTckn(t) {
  if (!/^[1-9]\d{10}$/.test(t)) return false;
  const d = [...t].map(Number);
  const odd = d[0]+d[2]+d[4]+d[6]+d[8], even = d[1]+d[3]+d[5]+d[7];
  if (((odd*7 - even) % 10 + 10) % 10 !== d[9]) return false;
  return d.slice(0,10).reduce((a,b) => a+b) % 10 === d[10];
}

Algoritma kontrolü yalnızca yazım hatalarını yakalar. Kimlik doğrulaması gereken kamu ve finans sistemlerinde Nüfus ve Vatandaşlık İşleri'nin resmi servisleri (KPS / TCKimlikNoDogrula) kullanılmalıdır.

Sık sorulan sorular

Bu araç kişinin adını gösterir mi?

Hayır. Hiçbir kişi bilgisi sorgulanmaz veya gösterilmez; yalnızca numaranın matematiksel kontrol haneleri doğrulanır.

Algoritmaya uygun numara gerçek midir?

Her zaman değil. Algoritma yazım hatalarını yakalar; numaranın gerçek bir kişiye ait olduğu yalnızca resmi servislerle doğrulanabilir.

Diğer araçlar