🪪 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ı
- 11 hanelidir, ilk hane 0 olamaz.
- 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.
- İ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.