🎯 اعتبارسنجی دقیق - بر اساس الگوریتم استاندارد ایران
🚀 عملکرد بالا - پردازش سریع هزاران کد ملی
🎨 رابط کاربری زیبا - طراحی مدرن با انیمیشنهای نرم
🌙 حالت تاریک - پشتیبانی کامل از Dark Mode
📱 ریسپانسیو - سازگار با تمام دستگاهها
🔄 RTL - پشتیبانی کامل از فارسی و راست به چپ
⚡ Client-Side - بدون نیاز به سرور، کاملاً ایمن
📊 آمار تفصیلی - نمایش گرافیکی نتایج
Node.js 18+
npm یا yarn# کلون کردن پروژه
git clone https://github.com/yourusername/iranian-national-code-validator.git
# ورود به پوشه پروژه
cd iranian-national-code-validator
# نصب وابستگیها
npm install
# اجرای پروژه
npm run dev🎉 حالا به آدرس http://localhost:3000 مراجعه کنید!
import { validateIranianNationalCode } from "./lib/nationalCodeValidator";
const result = validateIranianNationalCode("0123456789");
console.log(result);
// {
// isValid: true,
// code: '0123456789',
// message: 'کد ملی معتبر است',
// messageEn: 'Valid national code',
// messageFa: 'کد ملی معتبر است'
// }import { validateBulkNationalCodes } from "./lib/nationalCodeValidator";
// از آرایه
const codes = ["0123456789", "9876543210", "1234567890"];
const result = validateBulkNationalCodes(codes);
// از متن (با جداکنندههای مختلف)
const textCodes = `0123456789
9876543210
1234567890`;
const result2 = validateBulkNationalCodes(textCodes);import { generateRandomValidNationalCode } from "./lib/nationalCodeValidator";
const randomCode = generateRandomValidNationalCode();
console.log(randomCode); // مثلاً: '3240175800'| تکنولوژی | نسخه | توضیحات |
|---|---|---|
| Next.js | v15.5.3 | فریمورک React مدرن |
| TypeScript | v5+ | تایپ اسکریپت برای کیفیت کد |
| Tailwind CSS | v3+ | CSS فریمورک مدرن |
| Framer Motion | v11+ | انیمیشنهای نرم |
| Lucide React | Latest | آیکونهای زیبا |
| Vazirmatn | Latest | فونت فارسی مدرن |
کد ملی ایرانی دارای 10 رقم است که رقم آخر به عنوان رقم کنترل عمل میکند:
-
بررسی طول: باید دقیقاً 10 رقم باشد
-
بررسی کاراکترها: فقط اعداد مجاز هستند
-
بررسی الگوهای تکراری: کدهایی مثل
1111111111نامعتبرند -
محاسبه رقم کنترل:
مجموع = رقم[0]×10 + رقم[1]×9 + ... + رقم[8]×2 باقیمانده = مجموع % 11 اگر باقیمانده < 2: رقم کنترل = باقیمانده وگرنه: رقم کنترل = 11 - باقیمانده
اعتبارسنجی کدهای ملی از طریق API
درخواست:
{
"codes": "0123456789" // یا ["0123456789", "9876543210"]
}پاسخ:
{
"success": true,
"data": {
"totalCount": 1,
"validCount": 1,
"invalidCount": 0,
"results": [...],
"statistics": {...}
},
"message": "اعتبارسنجی با موفقیت انجام شد"
}مشارکت شما در بهبود این پروژه بسیار ارزشمند است!
- Fork کردن پروژه
- ایجاد branch جدید (
git checkout -b feature/amazing-feature) - Commit تغییرات (
git commit -m 'Add amazing feature') - Push به branch (
git push origin feature/amazing-feature) - ایجاد Pull Request
این پروژه تحت مجوز MIT منتشر شده است.