فهرست مستندات پروژه
شناسه ملی اشخاص حقوقی
بررسی شناسه یازدهرقمی شرکتها و سازمانها.
LegalId ساختار و checksum شناسه ملی یازدهرقمی اشخاص حقوقی را بررسی میکند.
نمونه قابل اجرا
کد را کنار vendor/ ذخیره و اجرا کنید:
<?php
require 'vendor/autoload.php';
use Eram\Abzar\Validation\LegalId;
$id = LegalId::from('۱۰۳۸۰۲۸۴۷۹۰');
echo $id->value(), "\n";
10380284790
قواعد و نکتهها
ارقام یکسانسازی میشوند و فاصله، خط تیره و علامتهای نامرئی حذف میشوند. دقیقا یازده رقم لازم است و رقمهای چهارم تا نهم نباید همگی صفر باشند.
برای checksum، مقدار رقم دهم به اضافه ۲ را d بگیرید. برای ده رقم اول، (d + digit[i]) × [29, 27, 23, 19, 17][i mod 5] جمع میشود. باقیمانده تقسیم بر ۱۱ رقم کنترل است و مقدار ۱۰ به صفر تبدیل میشود.
این validator هیچ lookup یا هشداری ندارد. tryFrom() برای ورودی نامعتبر null میدهد و from() خطا میاندازد. value() و تبدیل به string مقدار کامل را میدهند. JSON فقط فیلد value دارد. fake() یک شناسه با checksum معتبر میسازد.
این متد وضعیت ثبت شرکت، نام شرکت یا مالکیت را استعلام نمیکند. شناسه را string نگه دارید. داده آزمایشی ممکن است با شناسه یک سازمان واقعی یکسان باشد.
کدهای خطا
کدهای همین بخش و پیام دقیق کتابخانه در جدول کدهای خطا آمده است. برای شرطهای برنامه از کد استفاده کنید، نه متن پیام.
مطالب مرتبط: اعتبارسنجی، مدیریت خطا، اتصال به فریمورک.