akiftezcan38 / tr-identity-validator
Turkish Identity Number (TCKN) and Tax Number (VKN) validator package
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/akiftezcan38/tr-identity-validator
Requires
- php: ^8.2
Requires (Dev)
- phpunit/phpunit: ^11.0
README
🇹🇷 T.C. Kimlik Numarası (TCKN) ve Vergi Kimlik Numarası (VKN) doğrulama paketi
PHP 8.4+ için geliştirilmiş, basit ve hızlı bir doğrulama kütüphanesidir.
Özellikler
- ✅ TCKN (T.C. Kimlik Numarası) doğrulama
- ✅ VKN (Vergi Kimlik Numarası) doğrulama
- ✅ Otomatik tip algılama
- ✅ Detaylı doğrulama sonuçları
- ✅ %100 test coverage
- ✅ PHP 8.4+ ile modern kod yapısı
- ✅ Bağımlılık yok (sıfır dependency)
Kurulum
composer require akiftezcan38/tr-identity-validator
Kullanım
Basit Kullanım
use TrIdentityValidator\IdentityValidator; $validator = new IdentityValidator(); // TCKN Doğrulama $isValid = $validator->validateTckn('10000000146'); // true // VKN Doğrulama $isValid = $validator->validateVkn('1234567801'); // true
Otomatik Tip Algılama
$result = $validator->validateAuto('10000000146'); /* Array ( [valid] => true [number] => 10000000146 [type] => TCKN [detected_type] => TCKN [length] => 11 [algorithm] => Turkish Ministry of Interior TCKN Algorithm ) */
Detaylı Sonuç Alma
// TCKN için detaylı sonuç $result = $validator->validateTcknWithDetails('10000000146'); // VKN için detaylı sonuç $result = $validator->validateVknWithDetails('1234567801');
Doğrudan Validator Sınıflarını Kullanma
use TrIdentityValidator\Validators\TcknValidator; use TrIdentityValidator\Validators\VknValidator; $tcknValidator = new TcknValidator(); $vknValidator = new VknValidator(); $isValidTckn = $tcknValidator->validate('10000000146'); $isValidVkn = $vknValidator->validate('1234567801');
API Referansı
IdentityValidator
Ana validator sınıfı. Tüm doğrulama işlemlerini yönetir.
Metodlar
validateTckn(string $tckn): bool- TCKN doğrularvalidateVkn(string $vkn): bool- VKN doğrularvalidateTcknWithDetails(string $tckn): array- Detaylı TCKN doğrulamavalidateVknWithDetails(string $vkn): array- Detaylı VKN doğrulamavalidateAuto(string $number): array- Otomatik tip algılama ile doğrulamagetTcknValidator(): TcknValidator- TCKN validator instance'ı dönergetVknValidator(): VknValidator- VKN validator instance'ı döner
TcknValidator
T.C. Kimlik Numarası doğrulama sınıfı.
Metodlar
validate(string $tckn): bool- TCKN doğrularvalidateWithDetails(string $tckn): array- Detaylı sonuç döner
VknValidator
Vergi Kimlik Numarası doğrulama sınıfı.
Metodlar
validate(string $vkn): bool- VKN doğrularvalidateWithDetails(string $vkn): array- Detaylı sonuç döner
Algoritmalar
TCKN Algoritması
İçişleri Bakanlığı'nın yayınladığı TCKN algoritması kullanılır:
- 11 haneli olmalı
- İlk hane 0 olamaz
-
- hane: (1. + 3. + 5. + 7. + 9. hanelerin toplamı × 7) - (2. + 4. + 6. + 8. hanelerin toplamı) mod 10
-
- hane: İlk 10 hanenin toplamı mod 10
VKN Algoritması
Gelir İdaresi Başkanlığı'nın yayınladığı VKN algoritması kullanılır:
- 10 haneli olmalı
- Her hane için: ((hane + sıra) mod 10) × 2^sıra mod 9 (0 ise 9)
- Son hane: (10 - (toplam mod 10)) mod 10
Test
composer test
veya
./vendor/bin/phpunit
Gereksinimler
- PHP 8.4 veya üstü
Lisans
MIT License
Katkıda Bulunma
Pull request'ler memnuniyetle karşılanır. Büyük değişiklikler için lütfen önce bir issue açın.
Yasal Uyarı
Bu paket sadece algoritma doğrulaması yapar. MERNİS veya herhangi bir devlet sistemine bağlanmaz. Gerçek kişi doğrulaması için resmi sistemleri kullanmanız gerekmektedir.
Destek
Sorularınız için issue açabilir veya e-posta gönderebilirsiniz.
Made with ❤️ for Turkish Developers