PHPackages                             epigra/tckimlik - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Validation &amp; Sanitization](/categories/validation)
4. /
5. epigra/tckimlik

AbandonedArchivedLibrary[Validation &amp; Sanitization](/categories/validation)

epigra/tckimlik
===============

TC Kimlik Numarası Kontrolü ve Doğrulaması

v1.2.0(1y ago)6971.3k↓28.5%18[1 PRs](https://github.com/epigra/tckimlik/pulls)MITPHPCI passing

Since Feb 8Pushed 3mo ago4 watchersCompare

[ Source](https://github.com/epigra/tckimlik)[ Packagist](https://packagist.org/packages/epigra/tckimlik)[ Docs](https://github.com/epigra/tckimlik)[ RSS](/packages/epigra-tckimlik/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (1)Versions (8)Used By (0)

TC Kimlik Numarası Kontrolü ve Doğrulaması (Validation of Turkish Identification Number)
========================================================================================

[](#tc-kimlik-numarası-kontrolü-ve-doğrulaması-validation-of-turkish-identification-number)

Bilgilendirme (Alıntı):

Genel Müdürlüğümüz  public web sayfası doğrulama servisleri 01.08.2025 tarihinde kapatılacağı belirtilmiş olup, 5490 sayılı Nüfus Hizmetleri Kanunun 45. maddesindeki; “(2) Veri paylaşımından yararlanacakları belirlemeye, paylaşımın kapsamına ve hangi yöntemle yapılacağına karar vermek üzere Genel Müdürlük bünyesinde Veri Paylaşımı Kurulu oluşturulur.” hükmü kapsamında oluşturulmuş olan Veri Paylaşımı Kurulunun 2025/4 sayılı kararı ile KPS’de Tüm Kütük Doğrulama Servisine “Seri No” alanı eklenmesine karar verilmiştir. Alınan Kurul kararı kapsamında Tüm Kütük Doğrulama Servisinin 01/08/2025 versiyonu yayınlanmış bulunmaktadır. Entegrasyon süreçlerinin devam etmesinden dolayı web sayfası doğrulama servislerinin kapatılması 30.09.2025 tarihine kadar uzatılmıştır.Not: Genel Müdürlüğümüz  public web sayfası doğrulama servisleri ekran hizmeti olarak kullanıma açık kalmaya devam edecektir.

Yükleme
-------

[](#yükleme)

composer üzerinden:

```
composer require epigra/tckimlik

```

demeniz yeterli olacaktır.

Kullanım
--------

[](#kullanım)

#### Doğrulama (Verification)

[](#doğrulama-verification)

```
use Epigra\TcKimlik;

$check = TcKimlik::verify('tckimlikno'); //string
var_dump($check);

$data['tcno'] = 'tckimlikno';
$check2 = TcKimlik::verify($data); //array
var_dump($check2);
```

#### SOAP Onay (Validation)

[](#soap-onay-validation)

```
use Epigra\TcKimlik;

$data = array(
		'tcno'          => 'tckimlikno',
		'isim'          => 'XXXXX XXX',
		'soyisim'       => 'XXXXXX',
		'dogumyili'     => 'XXXX',
);

$check = TcKimlik::validate($data); //auto uppercase
var_dump($check);

$check2 = TcKimlik::validate($data,false); // auto uppercase false
var_dump($check2);
```

#### Laravel Service Provider

[](#laravel-service-provider)

`config/app.php` dosyası içerisindeki providers arrayi altına

```
Epigra\TCKimlikServiceProvider::class

```

satırını ekledikten sonra standart Validation kütüphanesi içerisinde

```
$validator = Validator::make($data, [
	'tcno' 	 => 'required|tckimlik|unique:tabloadi,sutunadi',
	'isim' => 'required',
	'soyisim' 	 => 'required',
	'dogumyili' => 'required',
]);
```

şeklinde kullanıldıktan sonra verify fonksiyonu otomatik olarak belirtilen alan için çalışarak algoritmik doğrulamayı gerçekleştirecektir.

Verilen hata mesajını değiştirmek isterseniz `resources/lang/dil/validation.php`dosyası içerisine

```
'tckimlik' => "Vermek istediğiniz hata mesajı"
```

şeklinde tanımlama yapabilirsiniz.

#### Extending Laravel Validator

[](#extending-laravel-validator)

Öncesinde `Validator::make` ile tanımlamış olduğunuz validator nesnesini `if ($validator->fails()) `şeklinde kontrol etmeden önce aşağıdaki şekilde tanımlama yapmanız yeterli olacaktır.

```
$validator->after(function($validator) use ($request) {

	$data = array(
		'tcno'          => 'tckimlikno',
		'isim'          => 'XXXXX XXX',
		'soyisim'       => 'XXXXXX',
		'dogumyili'     => 'XXXX',
	);

    if (!TcKimlik::validate($data)) {
        $validator->errors()->add('formfieldname', 'TC Kimlik Numarası vermiş olduğunuz kimlik bilgilerinizle eşleşmiyor');
    }
});
```

###  Health Score

52

—

FairBetter than 96% of packages

Maintenance61

Regular maintenance activity

Popularity45

Moderate usage in the ecosystem

Community21

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1049 days

Total

4

Last Release

603d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/fbf60dfc9bfd3201bde2fe32ba65d0cef2fc576bd85fd4a84b36170a5c04fd7f?d=identicon)[jnbn](/maintainers/jnbn)

---

Top Contributors

[![jnbn](https://avatars.githubusercontent.com/u/112425?v=4)](https://github.com/jnbn "jnbn (8 commits)")[![taylanunutmaz](https://avatars.githubusercontent.com/u/30219204?v=4)](https://github.com/taylanunutmaz "taylanunutmaz (6 commits)")[![shibby](https://avatars.githubusercontent.com/u/291643?v=4)](https://github.com/shibby "shibby (2 commits)")[![mkeremcansev](https://avatars.githubusercontent.com/u/76810832?v=4)](https://github.com/mkeremcansev "mkeremcansev (2 commits)")[![AhmadBD](https://avatars.githubusercontent.com/u/39584659?v=4)](https://github.com/AhmadBD "AhmadBD (1 commits)")[![whthT](https://avatars.githubusercontent.com/u/5617385?v=4)](https://github.com/whthT "whthT (1 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")[![dependabot-preview[bot]](https://avatars.githubusercontent.com/in/2141?v=4)](https://github.com/dependabot-preview[bot] "dependabot-preview[bot] (1 commits)")[![serkansahinn](https://avatars.githubusercontent.com/u/55761865?v=4)](https://github.com/serkansahinn "serkansahinn (1 commits)")

---

Tags

laravelvalidationformtctc kimliktckndoğrulamakimlik

### Embed Badge

![Health badge](/badges/epigra-tckimlik/health.svg)

```
[![Health](https://phpackages.com/badges/epigra-tckimlik/health.svg)](https://phpackages.com/packages/epigra-tckimlik)
```

###  Alternatives

[proengsoft/laravel-jsvalidation

Validate forms transparently with Javascript reusing your Laravel Validation Rules, Messages, and FormRequest

1.1k2.3M49](/packages/proengsoft-laravel-jsvalidation)[laravel-lang/attributes

Translation of form element names

273.8M11](/packages/laravel-lang-attributes)[arondeparon/laravel-request-sanitizer

An easy to use request sanitizer that allows you to sanitize your form data before validating it.

112151.6k1](/packages/arondeparon-laravel-request-sanitizer)[lrgt/laravel-form-ajax-validation

Make ajax validation with Laravel Requests for forms with bootstrap

435.6k](/packages/lrgt-laravel-form-ajax-validation)[janvince/smallcontactform

Simple but flexible multi language contact form builder with custom fields, validation and passive antispam

307.4k](/packages/janvince-smallcontactform)[fab2s/dt0

Immutable DTOs with bidirectional casting. No framework required. 8x faster than the alternative.

101.6k1](/packages/fab2s-dt0)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
