زمان کنونی: ۱۰-۲-۱۴۰۳, ۰۲:۲۷ عصر درود مهمان گرامی! (ورودثبت نام)


ارسال پاسخ 
 
امتیاز موضوع:
  • 2 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
كاربردي فرمول تشخیص صحت کد ملی و استفاده در جوملا و عدم تکرار کد ملی
۹-۱۰-۱۳۹۳, ۰۵:۵۳ عصر (آخرین ویرایش در این ارسال: ۲۲-۹-۱۳۹۶ ۰۶:۲۸ صبح، توسط محمدسلیمانی.)
ارسال: #1
فرمول تشخیص صحت کد ملی و استفاده در جوملا و عدم تکرار کد ملی
سلام به همگی.

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

ایجاد این کد شناسایی ملی، روی کار ما برنامه نویس ها هم تاثیر گذاشته حالا میخواد برنامه نویس وب، ویندوز، اندروید یا هر زبان دیگه ای باشه.
ویا حتی کسانی که بدون دانش برنامه نویسی با جوملا ورد پرس یا 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;
}

دموی کد.


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

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

موفق باشید.
امضاء محمدسلیمانی
چالش هاتو محدود نکن، محدودیت هاتو به چالش بکش

دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
مشاهده‌ی وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ بازگشت به بالا
 سپاس شده توسط Reza Ganji ، iranoo ، rezaetemadi ، Mojtaba Pordel ، parvazy33 ، samansaberi ، hamzeh12hh ، master93
ارسال پاسخ 


پیام‌های داخل این موضوع
فرمول تشخیص صحت کد ملی و استفاده در جوملا و عدم تکرار کد ملی - محمدسلیمانی - ۹-۱۰-۱۳۹۳ ۰۵:۵۳ عصر
RE: فرمول تشخیص صحت کد ملی - feizypour - ۹-۱۰-۱۳۹۳, ۰۶:۱۴ عصر

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان