isaeken/php-tc-kimlik

PHP 土耳其身份验证

1.4.5 2021-01-31 00:21 UTC

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"));

PHP TC Kimlik

安装

使用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许可证下分发。请查阅许可证文件