Bu Go 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, Go geliştiricileri 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
| package main
import (
"fmt"
"regexp"
"strconv"
)
func validateTCNumber(tckn string) bool {
// TC Kimlik numarası 11 haneli olmalıdır
if len(tckn) != 11 {
return false
}
// TC Kimlik numarası sadece rakamlardan oluşmalıdır
matched, _ := regexp.MatchString("^[0-9]+$", tckn)
if !matched {
return false
}
// İlk hane 0 olamaz
if tckn[0] == '0' {
return false
}
digits := make([]int, 11)
for i := 0; i < 11; i++ {
digits[i], _ = strconv.Atoi(string(tckn[i]))
}
// 10. hane kontrolü
sumEven := 0
sumOdd := 0
for i := 0; i < 9; i++ {
if i%2 == 0 {
sumEven += digits[i]
} else {
sumOdd += digits[i]
}
}
digit10 := ((sumEven * 7) - sumOdd) % 10
if digit10 != digits[9] {
return false
}
// 11. hane kontrolü
sum := 0
for i := 0; i < 10; i++ {
sum += digits[i]
}
digit11 := sum % 10
if digit11 != digits[10] {
return false
}
return true
}
func main() {
// Test örnekleri
testNumbers := []string{
"10000000146", // Geçerli
"12345678901", // Geçersiz
"1234", // Geçersiz (11 haneli değil)
"0234567890A", // Geçersiz (rakam değil)
}
for _, tckn := range testNumbers {
result := validateTCNumber(tckn)
if result {
fmt.Printf("%s: Geçerli\n", tckn)
} else {
fmt.Printf("%s: Geçersiz\n", tckn)
}
}
}
|
Bu Go 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
döndürür.