yasser-elgammal/laravel-egypt-national-id-parser

A package to parse egyptian national id number.

v1.0.0 2025-02-25 20:47 UTC

This package is not auto-updated.

Last update: 2025-06-18 20:50:20 UTC


README

A Laravel package to parse and validate Egyptian National ID numbers, extracting details such as birth date, gender, and governorate.

📌 Features

  • Validate Egyptian National ID numbers
  • Extract birth date, gender, and governorate
  • Supports Arabic and English translations

📦 Installation

Require the package via Composer:

composer require yasser-elgammal/laravel-egypt-national-id-parser

Publish the configuration and translation files:

php artisan vendor:publish --tag=laravel-egypt-national-id-parser-config
php artisan vendor:publish --tag=laravel-egypt-national-id-parser-translations

⚙️ Configuration

The configuration file config/national-id.php allows customization of the package settings, including the default language.

🛠 Usage

Validating an ID Number

use YasserElgammal\LaravelEgyptNationalIdParser\Facades\NationalId;

$idNumber = '00000000000000';
$result = NationalId::validate($idNumber);

You can Also Customize returned lang, default lang is 'english':

$result = NationalId::setLanguage('ar')->validate($idNumber)

Example:

return response()->json([
    'status' => $result['status'],
    'message' => $result['status'] ? 'Valid ID' : 'Invalid ID',
    'data' => $result['data'] ?? null,
    'errors' => $result['errors'] ?? []
]);

📝 License

This package is open-source and licensed under the MIT License.

🙌 Contributions

Contributions are welcome! Feel free to submit a pull request or report issues.

📬 Contact

For any questions, reach out via GitHub Issues or contact me directly.