پارس جوم :: انجمن های تخصصی جوملا

نسخه‌ی کامل: فرمول تشخیص صحت کد ملی و استفاده در جوملا و عدم تکرار کد ملی
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام به همگی.

چند سالی هست که سازمان ثبت احوال کشور اقدام به ایجاد و صدور کارت شناسایی ملی کرده،
این کد تغریبا برای اعتبار سنجی در تمام اموری که نیازی به احراز هویت داره استفاده میشه.

ایجاد این کد شناسایی ملی، روی کار ما برنامه نویس ها هم تاثیر گذاشته حالا میخواد برنامه نویس وب، ویندوز، اندروید یا هر زبان دیگه ای باشه.
ویا حتی کسانی که بدون دانش برنامه نویسی با جوملا ورد پرس یا cms های دیگه و حتی برنامه های سرس باز تحت ویندوز میخوان ورد اطلاعات انجام بدن

و نیاز به اعتبار سنج کد ملی پیدا میکنند.


در اینجا من کلیات الگوریتم این اعتبار سنج و توضیح میدم و در ادامه همین تاپیک به آموزش اعمال این کد در فرم سازها مختلف و یا اگر نیاز شد برنامه های تحت ویندوز خواهیم پرداخت.

تمام دوستانی که در این زمینه میتونن کمکی کنند یا اطلاعاتی دارن میتونند آموزش های خودشون و در همین تاپیک ادامه بدند. و لینک آموزش ها در صفحا اول لحاظ میشه.

پیش نمایش از عملکرد کد


خوب میریم سراغ آموزش

همه کدهای ملی ۱۰ رقمی هستند.

کدهای ملی که همه ارقام آنها مثل هم باشند معتبر نیستند مثل

۰۰۰۰۰۰۰۰۰۰

۱۱۱۱۱۱۱۱۱۱

۲۲۲۲۲۲۲۲۲۲

۳۳۳۳۳۳۳۳۳۳

۴۴۴۴۴۴۴۴۴۴

۵۵۵۵۵۵۵۵۵۵

۶۶۶۶۶۶۶۶۶۶

۷۷۷۷۷۷۷۷۷۷

۸۸۸۸۸۸۸۸۸۸

۹۹۹۹۹۹۹۹۹۹

روش اعتبار سنجی کد ملی :

دهمین رقم شماره ملی را ( از سمت چپ ) به عنوان A در نظر می گیریم.

یک مقدار B در نظر می گیریم و آن را برابر با =

(اولین رقم * ۱۰)+ ( دومین رقم * ۹ ) + ( سومین رقم * ۸ ) + ( چهارمین رقم* ۷ ) + ( پنجمین رقم * ۶) + ( ششمین رقم* ۵ ) + ( هفتمین رقم* ۴ ) + ( هشتمین رقم* ۳ ) + ( نهمین رقم * ۲ )

قرار می دهیم.

مقدار C را برابر با = B – (B/11)*11قرار می دهیم.

اگر مقدار Cبرابر با صفر باشد و مقدار A برابر C باشد کد ملی صحیح است.

اگر مقدار C برابر با ۱ باشد و مقدار A برابر با ۱ باشد کد ملی صحیح است.

اگر مقدار C بزرگتر از ۱ باشد ومقدار A برابر با ۱۱ – C باشد کد ملی صحیح است.


خوب در اینجا یک کد جاوا اسکریپت (چون پر کاربرد ترین کد حد اقل در وب هست ) براتون قرار میدم که میتونند در فرم هاتون اعمال کنند.


کد جاوا اسکریپت همین فرمول.
کد:
function checkMelliCode(varmellicode)
{
var meli_code;
meli_code=varmellicode.value;
if (meli_code.length == 10)
{
if(meli_code==’۱۱۱۱۱۱۱۱۱۱′ ||
meli_code==’۰۰۰۰۰۰۰۰۰۰′ ||
meli_code==’۲۲۲۲۲۲۲۲۲۲′ ||
meli_code==’۳۳۳۳۳۳۳۳۳۳′ ||
meli_code==’۴۴۴۴۴۴۴۴۴۴′ ||
meli_code==’۵۵۵۵۵۵۵۵۵۵′ ||
meli_code==’۶۶۶۶۶۶۶۶۶۶′ ||
meli_code==’۷۷۷۷۷۷۷۷۷۷′ ||
meli_code==’۸۸۸۸۸۸۸۸۸۸′ ||
meli_code==’۹۹۹۹۹۹۹۹۹۹′ )
{
alert(“کد ملی صحیح نمی باشد”);
objcode.focus();
return false;
}
c = parseInt(meli_code.charAt(9));
n = parseInt(meli_code.charAt(0))*10 +
parseInt(meli_code.charAt(1))*9 +
parseInt(meli_code.charAt(2))*8 +
parseInt(meli_code.charAt(3))*7 +
parseInt(meli_code.charAt(4))*6 +
parseInt(meli_code.charAt(5))*5 +
parseInt(meli_code.charAt(6))*4 +
parseInt(meli_code.charAt(7))*3 +
parseInt(meli_code.charAt(8))*2;
r = n – parseInt(n/11)*11;
if ((r == 0 && r == c) || (r == 1 && c == 1) || (r > 1 && c == 11 – r))
{
return true;
}
else
{
alert(“کد ملی صحیح نمی باشد”);
objcode.focus();
return true;
}
}
else
{
return true;
}

دموی کد.


دریافت اعتبار سنج کد ملی برای اراس فرم به همراه جلوگیری از ثبت کد ملی تکراری

امیدوار آموزش هایی که منتشر میکنم کاربردی باشه. اگر یک سیستم نیاز سنجی وجود داشت آموزش های که بیشتر مورد نیاز هستند رو منتشر میکردم
ولی خودم سعی ام بر این بوده تا جایی که میشه وقتی درخواستی میشه آموزشش رو منتشر کنم.
و معمولا من و بقیه دوستان از روی تشکر های پایین هر تایپک متوجه میشیم که مطلبمون چقدر مفید بوده و بیشتر در این زمینه فعالیت میکنیم.

موفق باشید.
با سلام و تشکر
میشه نحوه استفاده از این کد رو هم بفرمائید؟
با فرض اینکه برای دریافت کد ملی تو RSForm یک فیلد تکست باکس قرارداده شده کجا و چطور باید این کد فراخوانی و اجرا بشه؟ ضمنا آیا این کنترل بلافاصله بعد از چنج شدن فیلد بررسی میشه یا زمان ارسال فرم؟
ممنونم
سلام در توضیحات گفتم که برای تمام فرم سازها استفاده از این کد رو آموزش میدم و حتما اراس فرم اولیش خواهد بود. ( به زودی)

این کد جاوا اسکریپت به دیتابیس ارسال نمیشن پس در لحظه میتونید از صحت اون اعتبار سنجتون مطلع بشید.
[تصویر:  1449916425_499_279849d1a2.png]

از کجا بفهمیم که کاربر ما کد ملی درست را وارد کرده؟؟؟


[تصویر:  1441994645_499_8e5356f24d.png]


ما براتون این کار رو ساده کردیم


تشخیص صحت کد ملی در ار اس فرم


همون چیزی که دنبالش بودید


[تصویر:  1448223309_499_e2c367c873.jpg]


[تصویر:  1441994725_499_67c91513a8.png]


پیش نمایش صحت کد ملی


دریافت فایل صحت کدملی + جلوگیری از ثبت تکرار کدملی

منبع: دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.

دریافت افزونه از مرجع: دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
سلام
فایل اعتبار سنج مطابق با آخرین ورژن اراس فرم RsForm به روز رسانی و با فایل قبل جایگزین شد.
در ورژن قبل برخی از ویژگیهای اراس فرم قابل دسترس نبود

همچنین پست های اضافی حذف شدند.
لینک مرجع