TC Kimlik numarası sınama

Merhaba,

Bu yazıda size TC Kimlik numarası için bir iki basit kontrol yöntemi göstereceğim.
Sınamadan kastım resmi makamlarla bağlantı kurarak sınamak değil tabii ki. Her TC Kimlik numarasının sağladığı basit birkaç matematiksel şart var.
Bu şartlara bakarak bir sayının TC Kimlik numarası olup olamayacağını görebilirsiniz. Fakat tabii ki ilgili şartları sağlayan her sayı, bir şahsa verilmiş TC Kimlik no değildir. Biz algoritmaya uymayanları eliyoruz.

Peki ne derecede işimize yarar bu algoritma? Kafadan uydurulmuş bir numara çoook büyük olasılıkla testi geçemez. Bir iki rakamı hatalı verilmiş gerçek bir TC Kimlik numarası da çok küçük bir olasılıkla algoritmayı geçecek şansa sahip olabilir. Özellikle veri girişi hatalarını önemli ölçüde azaltacaktır.

Lafı fazla uzatmadan algoritmayı kısaca anlatayım ve fonksiyonu vereyim:
Fonksiyona, TCKimlik numarası olup olmadığı kontrol edilmek istenen sayı, string olarak veriliyor (string olacak tabii. sebebini sormayın)
TCKimlik numarası 11 haneli olmalıdır
TCKimlik numarasının son hanesi tek sayı olamaz
TCKimlik numarasının ilk 10 rakamının toplamının 10 a bölümünden kalan sayı, 11. rakamı verir
bir iki şartı daha var ama fonksiyonda yok. Belki ilerde eklerim

Ayrıca fonksiyonun altında bir de yardımcı fonksiyon var. Onun amacı da stringin içinde dışında boşluklar var ise onları kırpmak. TCKimlik numarası boşluk bırakılarak da giriliyor bazen.
tc kimlik test:

metin içerisindeki boşluk karakterlerini kırpmak için :