PHPackages                             alihoushy/iranian-national-id - 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. alihoushy/iranian-national-id

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

alihoushy/iranian-national-id
=============================

Validate Iranian national ID (کد ملی) with the official mod-11 checksum and resolve the issuing province and city.

v0.1.0(yesterday)02↑2900%[2 PRs](https://github.com/alihoushy/iranian-national-id/pulls)MITPHPPHP ^8.1CI passing

Since Jul 28Pushed yesterdayCompare

[ Source](https://github.com/alihoushy/iranian-national-id)[ Packagist](https://packagist.org/packages/alihoushy/iranian-national-id)[ Docs](https://github.com/alihoushy/iranian-national-id)[ RSS](/packages/alihoushy-iranian-national-id/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (3)Versions (2)Used By (0)

کد ملی ایران
============

[](#کد-ملی-ایران)

[![نسخه در Packagist](https://camo.githubusercontent.com/d8d0a066a33210e1559f9f126aa13068e171f8b21176a9b7ce832655c4775fc1/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f616c69686f757368792f6972616e69616e2d6e6174696f6e616c2d69642e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/alihoushy/iranian-national-id)[![تست‌ها](https://camo.githubusercontent.com/04dce75a8daf9c209a1d1095fbfa5dfe608578cb98107be287774c69ca86bb51/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f616c69686f757368792f6972616e69616e2d6e6174696f6e616c2d69642f74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/alihoushy/iranian-national-id/actions/workflows/tests.yml)[![کیفیت کد](https://camo.githubusercontent.com/6df335e84cfa934dd1b08f758aa4e4c3f2ebe35808e4666b1f1cf430bcde3ab8/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f616c69686f757368792f6972616e69616e2d6e6174696f6e616c2d69642f7175616c6974792e796d6c3f6272616e63683d6d61696e266c6162656c3d7175616c697479267374796c653d666c61742d737175617265)](https://github.com/alihoushy/iranian-national-id/actions/workflows/quality.yml)[![تعداد نصب](https://camo.githubusercontent.com/8d4eefe4b8d7c57e9573c6af7c802d3d76c853e50975e96975e3972c96b69c0d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f616c69686f757368792f6972616e69616e2d6e6174696f6e616c2d69642e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/alihoushy/iranian-national-id)[![مجوز](https://camo.githubusercontent.com/a7ebc2a25148a96ef204337441f21c62f3ee5ba27336aa2dec83d1d88fa3804b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f616c69686f757368792f6972616e69616e2d6e6174696f6e616c2d69642e7376673f7374796c653d666c61742d737175617265)](LICENSE)

اعتبارسنجی کد ملی ایران با الگوریتم رسمی mod-11 و استخراج استان و شهر محل صدور از سه رقم نخست.

این پکیج **PHP خالص** است؛ به هیچ فریمورکی وابسته نیست و در Laravel، Symfony، Slim یا پروژه‌های بدون فریمورک به یک شکل کار می‌کند.

چرا این پکیج؟
-------------

[](#چرا-این-پکیج)

- **بدون وابستگی:** هیچ پکیج دیگری نصب نمی‌کند و به اکستنشن `intl` نیاز ندارد.
- **ورودی واقعی را می‌پذیرد:** ارقام فارسی و عربی-هندی، خط تیره، فاصله، نیم‌فاصله و کدهای ۸ و ۹ رقمیِ بدون صفر ابتدایی.
- **صادق درباره ابهام:** برای ۱۳ کد، منبع بیش از یک محل صدور ثبت کرده است. این پکیج به‌جای حدس زدن، ابهام را صریح گزارش می‌کند.
- **تغییرناپذیر:** هر نمونه `NationalId` تضمین‌شده معتبر است؛ اعتبارسنجی فقط یک‌بار در لحظه ساخت انجام می‌شود.

نیازمندی‌ها
-----------

[](#نیازمندی‌ها)

- PHP نسخه ۸.۱ یا بالاتر
- اکستنشن `mbstring`

نصب
---

[](#نصب)

```
composer require alihoushy/iranian-national-id
```

شروع سریع
---------

[](#شروع-سریع)

```
