Bu JavaScript kodu, Türkiye Cumhuriyeti Kimlik Numarası’nı (TC Kimlik No) doğrulamak için resmi TC kimlik no algoritmasını kullanır.
TC Kimlik Numarası doğrulama gereksinimlerini karşılamak için güvenilir ve etkili bir çözüm sunar.
Bu kod sayesinde, web geliştiriciler TC Kimlik Numaralarının geçerliliğini hızlı ve doğru bir şekilde kontrol edebilir, veri doğrulama işlemlerinde ve çeşitli uygulamalarda kullanabilirler.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| function validateTCNumber(tckn) {
// TC Kimlik numarası 11 haneli olmalıdır
if (tckn.length !== 11) {
return false;
}
// TC Kimlik numarası sadece rakamlardan oluşmalıdır
if (!/^[0-9]+$/.test(tckn)) {
return false;
}
// İlk hane 0 olamaz
if (tckn[0] === '0') {
return false;
}
const digits = Array.from(tckn).map(Number);
// 10. hane kontrolü
const digit10 = ((digits.slice(0, 9).filter((_, i) => i % 2 === 0).reduce((a, b) => a + b, 0) * 7) -
digits.slice(0, 8).filter((_, i) => i % 2 === 1).reduce((a, b) => a + b, 0)) % 10;
if (digit10 !== digits[9]) {
return false;
}
// 11. hane kontrolü
const digit11 = digits.slice(0, 10).reduce((a, b) => a + b, 0) % 10;
if (digit11 !== digits[10]) {
return false;
}
return true;
}
// Test örnekleri
const testNumbers = [
"10000000146", // Geçerli
"12345678901", // Geçersiz
"1234", // Geçersiz (11 haneli değil)
"0234567890A" // Geçersiz (rakam değil)
];
testNumbers.forEach(tckn => {
const result = validateTCNumber(tckn);
console.log(`${tckn}: ${result ? "Geçerli" : "Geçersiz"}`);
});
|
Bu JavaScript fonksiyonu aşağıdaki kontrolleri yapar:
- TC Kimlik numarasının 11 haneli olup olmadığını kontrol eder
- Tüm karakterlerin rakam olup olmadığını kontrol eder
- İlk hanenin 0 olmadığını kontrol eder
- ve 11. hanelerin doğrulama algoritmasına uygunluğunu kontrol eder
Fonksiyon, verilen TC Kimlik numarası geçerliyse true
, değilse false