Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Jackgawe/phpegy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Egyptian ID Validator (PHP)

[Version] Last Commit Open Issues License


Egyptian ID Validator is a production-ready PHP library for validating and parsing Egyptian national ID numbers.
It enforces the official structural rules defined by the Egyptian Ministry of Interior, including a verified but undisclosed checksum mechanism.

ℹ️ This package is part of a broader multi-language validation system.
For other implementations (e.g., JavaScript, Python, Java), see the Egyptian-ID-Validator mother repository.


🔍 Features

  • Format Validation – Ensures the ID is 14 digits and correctly structured.
  • Checksum Validation – Verifies integrity using an official checksum method.
  • Component Extraction – Parses the ID into:
    • Year, Month, and Day of Birth
    • Governorate Name and Code
    • Gender (Male/Female)

📦 Installation

Simply include the validator file in your PHP project:

require_once 'src/egyptian_id_validator.php';

No external dependencies required.


🚀 Quick Usage

<?php
require_once 'src/egyptian_id_validator.php';

$id = "29805150102054"; // Replace with your ID
$result = validateEgyptianId($id);

if ($result !== null) {
    echo "✅ Valid ID\n";
    var_dump($result); // ['valid' => true, 'year', 'month', 'day', 'governorate', 'gender']
} else {
    echo "❌ Invalid ID\n";
}

📁 Project Status

This library is stable and actively maintained. It is being used in production environments and adheres strictly to the official Egyptian national ID structure, including a private and verified checksum algorithm.

🔒 The checksum logic is intentionally obfuscated to comply with national data validation practices and prevent misuse.


🤝 Contributing

We welcome contributions to improve or extend this project.

🐞 Bug Reports

Please submit detailed reports via GitHub Issues, including:

  • Clear title and description
  • ID sample (if safe to share)
  • Expected vs. actual result

💡 Feature Requests

Open an issue to suggest enhancements that support practical developer needs, especially around usability, edge cases, or new environments.

🧪 Code Contributions

  1. Fork this repository
  2. Create a branch: git checkout -b feature/your-feature
  3. Make your changes with tests
  4. Run PHPUnit tests: phpunit test/
  5. Commit and push: git commit -m "Describe feature"git push origin feature/your-feature
  6. Open a Pull Request to main

📄 License

This project is licensed under a custom MIT-based license with commercial use restrictions.

You may:

  • Use the library in personal or commercial apps
  • Modify and extend it with proper attribution

You may not:

  • Resell, redistribute, or package this code as a core business product without explicit written permission

See LICENSE.md for full terms.


👤 Author

Mohamed A. Abdallah <----- Original creator GitHub · Email

Eyad Mohammed <------- PHP version Github

About

No description or website provided.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •