isaeken / php-tc-kimlik
PHP 土耳其身份验证
1.4.5
2021-01-31 00:21 UTC
Requires
- php: ^7.4|^8.0
- guzzlehttp/guzzle: ^6.5|^7.0|^7.2
- spatie/regex: >=1.4.2
Requires (Dev)
- phpunit/phpunit: ^9.5
- symfony/var-dumper: ^5.2
This package is auto-updated.
Last update: 2024-09-29 06:08:36 UTC
README
使用此库,您可以轻松快速地进行身份验证。示例用法
use DateTime; use IsaEken\PhpTcKimlik\PhpTcKimlik; $sonuc = PhpTcKimlik::isValidIdentity("tckimlikno", "ad", "soyad", new DateTime("dogum tarihi"));
安装
使用Composer轻松地将此项目添加到您的项目中。
composer require isaeken/php-tc-kimlik
用法
Laravel
为了支持土耳其语,请在
config/app.php
文件中将locale
变量设置为tr
。
身份证号码
public function index(Request $request) { $request->validate([ 'tc_kimlik_numarasi' => [new IsaEken\PhpTcKimlik\Rules\IdentityNumber], ]); }
姓名核对
public function index(Request $request) { $request->validate([ 'isim' => [new IsaEken\PhpTcKimlik\Rules\RealName], 'soyisim' => [new IsaEken\PhpTcKimlik\Rules\RealName], ]); }
年份核对
public function index(Request $request) { $request->validate([ 'dogum_yili' => ['required', new IsaEken\PhpTcKimlik\Rules\RealYear], ]); }
身份核对
public function index(Request $request) { $request->validate([ 'tc_kimlik_numarasi' => ['required', new IsaEken\PhpTcKimlik\Rules\IdentityNumber], 'isim' => ['required', new IsaEken\PhpTcKimlik\Rules\RealName], 'soyisim' => ['required', new IsaEken\PhpTcKimlik\Rules\RealName], 'dogum_yili' => ['required', new IsaEken\PhpTcKimlik\Rules\RealYear], ]); $validator = new IsaEken\PhpTcKimlik\IdentityValidator( "tc_kimlik_numarasi", // varsayılan: identity_number "isim", // varsayılan: first_name "soyisim", // varsayılan: last_name "dogum_yili", // varsayılan: birth_year "post", // opsiyonel method $request // opsiyonel ); $validator->validate(); }
示例
public function index(Request $request) { $request->validate([ 'identity_number' => ['required', new IsaEken\PhpTcKimlik\Rules\IdentityNumber], 'first_name' => ['required', new IsaEken\PhpTcKimlik\Rules\RealName], 'last_name' => ['required', new IsaEken\PhpTcKimlik\Rules\RealName], 'birth_year' => ['required', new IsaEken\PhpTcKimlik\Rules\RealYear], ]); ((new IsaEken\PhpTcKimlik\IdentityValidator())->validate()); }
快速使用
身份信息核对
要核对身份信息,个人必须提供身份证号码、姓名、姓氏和出生年份。您可以通过使用示例代码中的这些信息进行简单验证。
// değişkenler sırası ile; kimlik numarası, adı, soyadı, doğum tarihi. // doğum tarihi DateTimeInterface olmalıdır eğer gün ve ay girilmek istenmezse rastgele gün ay belirtilebilir çünkü bu işlemde sadece doğum yılı kullanılacaktır: new DateTime("01.01.2000") IsaEken\PhpTcKimlik\PhpTcKimlik::isValidIdentity("123456789", "isa", "eken", new DateTime("10.04.2002"));
外国身份信息核对
在核对身份信息时使用的所有内容都包含在此过程中。在此操作中,不对身份证号码进行语法检查,而是直接通过nvi进行身份验证。
IsaEken\PhpTcKimlik\PhpTcKimlik::isValidForeignIdentity("123456789", "isa", "eken", new DateTime("10.04.2002"));
身份证卡片信息核对
要核对身份证卡片信息,个人必须提供身份证号码、卡片序列号、姓名、姓氏和出生日期。
IsaEken\PhpTcKimlik\PhpTcKimlik::isValidIdentityCard( "123456789", // kimlik numarası "xxxxxxxxx", // seri numarası "isa", // ad "eken", // soyad new DateTime("10.04.2002") // doğum tarihi. gün, ay ve yıl gerekli );
详细用法和身份接口
身份接口
在执行任何操作之前,首先使用身份类创建一个身份。
$kimlik = new \IsaEken\PhpTcKimlik\PhpTcKimlik;
您可以为此类提供个人的身份信息,使用链式函数。默认值将为空。
您可以使用以下函数获取数据
$kimlik->getIdentityNumber(); // string olarak kişinin kimlik numarasını döndürür. $kimlik->getSurname(); // string olarak kişinin soyadını döndürür. $kimlik->getGivenName(); // string olarak kimlik adını döndürür. $kimlik->getBirthDate(); // DateTimeInterface olarak kişinin doğum tarihini döndürür. $kimlik->getGender(); // string olarak kişinin cinsiyetini döndürür. $kimlik->getDocumentNumber(); // string olarak kişinin kimlik kartının seri numarasını döndürür. $kimlik->getNationality(); // string olarak kişinin uyruğunu döndürür. $kimlik->getValidUntil(); // DateTimeInterface olarak kişinin kimliğinin son geçerlilik tarihini döndürür. $kimlik->getMotherName(); // string olarak kişinin anne adını döndürür. $kimlik->getFatherName(); // string olarak kişinin baba adını döndürür. $kimlik->getIssuedBy(); // string olarak kişinin kimliğini veren makanım adını döndürür.
您可以使用以下函数应用数据。所有函数都将返回IdentityCardInterface
,即您可以连续使用所有函数(链式)。
$kimlik->setIdentityNumber("12345678910"); // kimlik numarasını değiştir. $kimlik->setSurname("Soyadı"); // soyadı değiştir. $kimlik->setGivenName("Adı"); // adı değiştir. $kimlik->setBirthDate(new DateTime("01.28.2021")); // doğum tarihini değiştir. $kimlik->setGender("E / M"); // cinsiyeti değiştir. $kimlik->setDocumentNumber("xxxxxxxxx"); // seri numarasını değiştir. $kimlik->setNationality("T.C./TUR"); // uyruğu değiştir. $kimlik->setValidUntil(new DateTime("01.28.2021")); // son geçerlilik tarihini değiştir. $kimlik->setMotherName("Annesi"); // anne adını değiştir. $kimlik->setFatherName("Babası"); // bana adını değiştir. $kimlik->setIssuedBy("T.C."); // kimliği veren makamım adını değiştir.
控制
使用创建的身份进行控制。
身份验证
使用身份证号码、姓名、姓氏和出生年份通过nvi进行验证
$kimlik->validateIdentityNumber(); // boolean
使用外国身份证号码、姓名、姓氏和出生日期通过nvi进行验证
$kimlik->validateForeignIdentityNumber(); // boolean
使用身份证号码、身份证序列号、姓名、姓氏和出生日期通过nvi进行身份证卡片验证
$kimlik->validateIdentityCard(); // boolean
示例
身份证号码/外国身份证号码验证
$kimlik = new IsaEken\PhpTcKimlik\PhpTcKimlik; $kimlik->setIdentityNumber("12345678910"); $kimlik->setGivenName("ad"); $kimlik->setSurname("soyad"); $kimlik->setBirthDate(new DateTime("28.04.2021")); $kimlik->validateIdentityNumber(); // kimlik numarası kontrolü $kimlik->validateForeignIdentityNumber(); // yabancı kimlik numarası kontrolü
身份证卡片验证
(new IsaEken\PhpTcKimlik\PhpTcKimlik) ->setIdentityNumber("12345678910") ->setDocumentNumber("xxxxxxxxx") ->setGivenName("ad") ->setSurname("soyad") ->setBirthDate(new DateTime("28.04.2021")) ->validateForeignIdentityNumber();
辅助函数
use IsaEken\PhpTcKimlik\Helpers; // yazıyı Türkçe karakterleri dikkate alarak küçük harflere çevirir. Helpers::lower("TÜRKÇE"); // türkçe // yazıyı Türkçe karakterleri dikkata alarak büyük harflere çevirir. Helpers::upper("türkçe"); // türkçe // kimlik numarasının syntaxının doğruluğunu kontrol eder. Helpers::verifyIdentity("12345678910"); // true Helpers::verifyIdentity("00987654321"); // false // Türkçe karakterler içeren bir isimin syntaxını kontrol eder. Helpers::verifyName("ata"); // true Helpers::verifyName("!'\""); // false // değişkenin bir yılı ifade edip etmediğini kontrol eder. Helpers::verifyYear(1881); // true Helpers::verifyYear("1881"); // true Helpers::verifyYear(-15); // false Helpers::verifyYear("-15"); // false Helpers::verifyYear("www"); // false /** * Verify year is valid. * * @param int|string $year * @param int $min * @param int $max * @return bool */ Helpers::verifyYear("2000", 2000, 3000); // true
测试
composer test
许可证
此软件在MIT许可证下分发。请查阅许可证文件。