PDA

View Full Version : استعلام شماره ملی



Aalibeigi
دوشنبه 30 دی 1392, 09:59 صبح
سلام به اساتید عزیز
من میخوام یه سامانه نوبت دهی آنلاین ایجاد کنم.
با کد نویسی ها مشکلی فکر نکنم داشته باشم .
اما مشکل اصلی اینجاست:
چطور باید شماره های ملی رو استعلام کنم که یه وقت شماره ملی ای که وجود نداشته باشه رو تو سامانه ثبت نکنن؟؟؟؟؟:متفکر:
یه اشاره ای که بکنبن من خودم دنبالش میرم نیاز به یه اطلاعات پایه ای دارم که شروع کنم.
سایتی هست که بتونم از طریقش استعلام بگیرم؟؟؟؟
لطفا کمک کنین واقعا کارم گیره!!!

arash21hhhh
دوشنبه 30 دی 1392, 10:36 صبح
سلام . استعلام که به هیچ وجه !
ولی کد ملی بر اساس یه الگوریتم خاص ایجاد میشه . یعنی به راحتی میشه فهمید یه کد درسته یا غلطه . یه جستوجوی ساده بزنی میتونی الگوریتمشو پیدا کنی .

saeedr22
دوشنبه 30 دی 1392, 10:40 صبح
function checkMelliCode(meli_code) {

if (meli_code.length == 10) {
if (meli_code == '1111111111' || meli_code == '0000000000' || meli_code == '2222222222' || meli_code == '3333333333' || meli_code == '4444444444' || meli_code == '5555555555' || meli_code == '6666666666' || meli_code == '7777777777' || meli_code == '8888888888' || meli_code == '9999999999') {
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 {
return false;
}
} else {
return false;
}
}

saeedr22
دوشنبه 30 دی 1392, 10:41 صبح
همه کدهای ملی ۱۰ رقمی هستند.
کدهای ملی که همه ارقام آنها مثل هم باشند معتبر نیستند مثل
۰۰۰۰۰۰۰۰۰۰
۱۱۱۱۱۱۱۱۱۱
۲۲۲۲۲۲۲۲۲۲
۳۳۳۳۳۳۳۳۳۳
۴۴۴۴۴۴۴۴۴۴
۵۵۵۵۵۵۵۵۵۵
۶۶۶۶۶۶۶۶۶۶
۷۷۷۷۷۷۷۷۷۷
۸۸۸۸۸۸۸۸۸۸
۹۹۹۹۹۹۹۹۹۹

روش اعتبار سنجی کد ملی :
دهمین رقم شماره ملی را ( از سمت چپ ) به عنوان A در نظر می گیریم.
یک مقدار B در نظر می گیریم و آن را برابر با =
(اولین رقم * ۱۰)+ ( دومین رقم * ۹ ) + ( سومین رقم * ۸ ) + ( چهارمین رقم* ۷ ) + ( پنجمین رقم * ۶) + ( ششمین رقم* ۵ ) + ( هفتمین رقم* ۴ ) + ( هشتمین رقم* ۳ ) + ( نهمین رقم * ۲ )
قرار می دهیم.

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

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

Aalibeigi
دوشنبه 30 دی 1392, 11:04 صبح
ممنون که انقدر سریع جواب دادین.
یه سئال دیگه واسه این سیستم چقدر بگیرم خوبه؟؟؟؟
من خودم فکر کنم 100 تا 200 تومن اما شاید کم یا زیاد بگم..

saeedr22
دوشنبه 30 دی 1392, 11:15 صبح
پروژه دانشجوییه؟
شما چند ساعت قراره واسش وقت بزارین؟ به نظرتون تو یه شرکت ساعتی چند کار می کنین؟حالا حساب کنین قیمت در بیاد:)

Aalibeigi
دوشنبه 30 دی 1392, 11:19 صبح
نه واسه یه کلینیک
نمیخوام ساعتی حساب کنم
این هم فقط یه تیکه کوچیک از سایته.
من کلا تو قیمت دادن ضعیفم از چند نفر میپرسم میانگین میگیرم همون رو بهشون میدم