Javascript ile Geçerli ve Rastgele TC Kimlik Numarası Üretme Algoritması
TC Kimlik Numarası, Türkiye Cumhuriyeti vatandaşlarına ait 11 haneli benzersiz bir numaradır. Bu numaranın belirli matematiksel kurallara uyması gerekir. Peki, geçerli bir TC Kimlik Numarası nasıl oluşturulur? Bu yazımızda, JavaScript ile rastgele ve geçerli bir TC Kimlik No Üretici (Generator) oluşturacağız.
TC Kimlik Numarası Kuralları
TC Kimlik numarası üretirken dikkat edilmesi gereken bazı kurallar vardır:
- ✅ 11 haneli olmalı.
- ✅ İlk hane 0 olamaz.
- ✅ 10. hane belirli bir formüle göre hesaplanır.
- ✅ 11. hane, tüm rakamların toplamının 10’a bölümünden kalan olarak hesaplanır.
Şimdi, JavaScript ile geçerli bir TC Kimlik Numarası üreten fonksiyonu inceleyelim.
JavaScript ile Geçerli TC Kimlik Numarası Üretme
Aşağıdaki kod, yukarıdaki kurallara uygun olarak geçerli bir TC Kimlik No üretir:
function generateTurkishID() {
// İlk 9 haneyi rastgele oluştur
const firstNineDigits = Math.floor(900000001 \* Math.random() + 100000000).toString();
// Rakamları diziye çevir
const digits = firstNineDigits.split("").map(Number);
// Tek ve çift indekslerdeki sayıların toplamını hesapla
const oddSum = digits\[0\] + digits\[2\] + digits\[4\] + digits\[6\] + digits\[8\];
const evenSum = digits\[1\] + digits\[3\] + digits\[5\] + digits\[7\];
// 10. haneyi hesapla
const tenthDigit = (7 \* oddSum - evenSum) % 10;
// 11. haneyi hesapla
const eleventhDigit = (oddSum + evenSum + tenthDigit) % 10;
// Son haliyle geçerli bir TC Kimlik Numarası oluştur
return firstNineDigits + tenthDigit + eleventhDigit;
}
console.log(generateTurkishID());
Nasıl Çalışıyor?
- 1️⃣ İlk olarak, ilk 9 hane rastgele oluşturulur.
- 2️⃣ Daha sonra, tek indeksli ve çift indeksli rakamların toplamı hesaplanır.
- 3️⃣ 10. hane, özel bir formül ile hesaplanır:
- 📌 (7 * tek indeks toplamı - çift indeks toplamı) % 10
- 4️⃣ 11. hane, tüm rakamların toplamının 10’a bölümünden kalan olarak bulunur.
Bu sayede, her oluşturulan numara geçerli bir TC Kimlik Numarası formatına sahip olur. 🎯