مشاهده دست آورد نظرسنجی: نظر خودتون رو بگین

رای دهنده
16. شما نمی توانید در این رای گیری رای بدهید
  • به دردمون خورد

    6 37.50%
  • اصلا چیه

    4 25.00%
  • ای بدک نبود

    2 12.50%
  • عالی بود

    4 25.00%
نمایش نتایج 1 تا 16 از 16

نام تاپیک: چک کردن صحت کد ملی

  1. #1
    کاربر دائمی آواتار atryad
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    شیراز
    پست
    255

    چک کردن صحت کد ملی

    سلام
    یه dll براتون میزارم که میتونید با اون چک کنید که کد ملی صحیح است یا نه
    تشکر یادتون نره



    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله atryad : یک شنبه 26 آذر 1391 در 12:57 عصر

  2. #2
    کاربر دائمی آواتار debugger
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    Turkey
    پست
    843

    نقل قول: چک کردن صحت کد ملی

    بر چه اساسی چک می کنی کد ملی صحیح است یا خیر ؟

  3. #3
    VIP آواتار Sajjad.Aghapour
    تاریخ عضویت
    مهر 1386
    محل زندگی
    اهل کاشانم .. روزگارم بد نیست
    پست
    1,265

    نقل قول: چک کردن صحت کد ملی

    من چند وقت پیش الگوریتمش رو یه جایی دیده بودم.ولی گوگل تا دلت بخواد بهت لینک میده....

    http://forum.p30world.com/showthread.php?t=295203
    Close your eyes, take a deep breath, click your heels three times, and say, "There's no better thing than Inversion of Control and Dependency Injection, generic specialization, the decorator pattern, chains of responsibilities, and extensible software."

  4. #4
    کاربر دائمی آواتار atryad
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    شیراز
    پست
    255

    نقل قول: چک کردن صحت کد ملی

    نقل قول نوشته شده توسط debugger مشاهده تاپیک
    بر چه اساسی چک می کنی کد ملی صحیح است یا خیر ؟
    سلام
    این هم کلاس چک کردن صحت کد ملی
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using System.Configuration;
    using System.Web;


    public class Code_meli
    {
    public bool chek(string meli)
    {
    try
    {
    int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a, b;
    int sum, mm;
    char[] code = new char[12];
    if (meli == "1111111111" || meli == "2222222222"||
    meli == "3333333333" || meli == "4444444444"||
    meli == "5555555555" ||meli == "6666666666" ||
    meli == "7777777777" || meli == "8888888888"||
    meli == "9999999999" || meli == "0000000000")
    return false;
    code = meli.ToCharArray();
    ///////////////////////////////
    a1 = Convert.ToInt32(code[0].ToString()) * 10;//سه رقم اول
    a2 = Convert.ToInt32(code[1].ToString()) * 9;//
    a3 = Convert.ToInt32(code[2].ToString()) * 8;//
    //-----------------------
    a4 = Convert.ToInt32(code[3].ToString()) * 7;//
    a5 = Convert.ToInt32(code[4].ToString()) * 6;//
    a6 = Convert.ToInt32(code[5].ToString()) * 5;//شش رقم میانی
    a7 = Convert.ToInt32(code[6].ToString()) * 4;//
    a8 = Convert.ToInt32(code[7].ToString()) * 3;//
    a9 = Convert.ToInt32(code[8].ToString()) * 2;//
    //------------------
    a10 = Convert.ToInt32(code[9].ToString());//رقم اخر

    sum = a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 + a9;
    mm = (sum % 11);
    if (mm < 2)
    if (a10 == mm)
    return true;
    if (mm >= 2)
    if ((11 - mm) == a10)
    return true;
    return false;
    }
    catch
    {
    return false;
    }



    }

    }

    آخرین ویرایش به وسیله atryad : دوشنبه 30 شهریور 1388 در 20:07 عصر

  5. #5
    کاربر دائمی آواتار Parham.D
    تاریخ عضویت
    خرداد 1386
    محل زندگی
    شيراز
    پست
    413

    نقل قول: چک کردن صحت کد ملی

    به من تازه کار بگید چک کردن صحت کد ملی یعنی چی؟! یعنی قالب کد ملی؟ پس چرا از Regular Expression استفاده نکردید؟!

  6. #6
    کاربر دائمی آواتار atryad
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    شیراز
    پست
    255

    نقل قول: چک کردن صحت کد ملی

    نقل قول نوشته شده توسط Parham.D مشاهده تاپیک
    به من تازه کار بگید چک کردن صحت کد ملی یعنی چی؟! یعنی قالب کد ملی؟ پس چرا از Regular Expression استفاده نکردید؟!
    سلام
    کد ملی تشکیل شده از 10 رقم که با الگوریتم خاصی کنار هم قرار گرفته اند و هر 10 رقمی یک کد ملی نمی شود مثلا 2392090645 یک کد ملی است اما 2392090644 کد ملی نیست
    آخرین ویرایش به وسیله atryad : سه شنبه 31 شهریور 1388 در 10:20 صبح

  7. #7
    کاربر دائمی آواتار atryad
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    شیراز
    پست
    255

    نقل قول: چک کردن صحت کد ملی

    تشخیص صحت کد ملی
    امروزه در اکثر نرم افزارهای تولیدی نیاز به استفاده از کد ملی به عنوان یک مشخصه منحصر به فرد برای اطلاعات فردی می باشد.از طرفی متاسفانه در حال حاضر هیچ الگوریتمی برای تشخیص صحت کد ورودی در اختیار برنامه نویسان وجود ندارد.
    اخیرا با توجه به نیاز خودم به کنترل صحت کد ورودی الگوریتم مربوط به کنترل صحت کد ملی را بدست آوردم و چون مطمئن هستم افراد زیادی هم همین نیاز را دارند روال انجام کار را در این مقال توضیح می دهم
    کد ملی شماره ای است 10 رقمی که از سمت چپ سه رقم کد شهرستان ، شش رقم بعدی کد منحصر به فرد برای فرد دارنده و رقم آخر آن هم یک رقم کنترل است که از روی 9 رقم سمت چپ بدست می آید. برای بررسی کنترل کد کافی است مجدد از روی 9 رقم سمت چپ رقم کنترل را محاسبه کنیم
    از آنجایی که درسیستم کد ملی معمولا قبل از کد تعدادی صفر وجود دارد.(رقم اول و رقم دوم از سمت چپ کد ملی ممکن است صفر باشد) و در بسیاری از موارد ممکن است کاربر این صفرها را وارد نکرده باشد و یا نرم افزار این صفرها را ذخیره نکرده باشد بهتر است قبل از هر کاری در صورتی که طول کد بزرگتر مساوی 8 و کمتر از 10 باشد به تعداد لازم (یک تا دو تا صفر) به سمت چپ عدد اضافه کنید. ساختار کد ملی در زیر نشان داده شده است



  8. #8

    Smile نقل قول: چک کردن صحت کد ملی

    سلام

    اینو ببینید.
    بدون نقصه. خودم نوشتم کد ملی رو طبق فرمول سازمان ثبت احوال چک میکنه.

    http://www.irp2d.com/codemeli.zip

  9. #9
    کاربر تازه وارد آواتار satar_niakan
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    كرج
    پست
    37

    نقل قول: چک کردن صحت کد ملی

    سلام
    اين dll رو چطور بايد استفاده كرد توضيح بديد لطفاً

  10. #10
    کاربر دائمی آواتار atryad
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    شیراز
    پست
    255

    نقل قول: چک کردن صحت کد ملی

    نقل قول نوشته شده توسط satar_niakan مشاهده تاپیک
    سلام
    اين dll رو چطور بايد استفاده كرد توضيح بديد لطفاً
    با سلام
    توی مثال تایپیک 1 طریقه استفاده هست
    ابتدا dll رو به Referense پروژه اضاف میکنید بعدا هرکجا که میخواین استفاده کنید
    به صورت زیر عمل می کنید
      Code_meli cc = new Code_meli();
    if (cc.chek(textBox1.Text) == true)
    MessageBox.Show("کد ملی صحیح می باشد", "تایید", MessageBoxButtons.OK, MessageBoxIcon.Information);
    else
    MessageBox.Show("کد ملی صحیح نمی باشد", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Warning);

    که textbox1 در این مثال دارای مقدار کد ملی می باشد

  11. #11
    کاربر دائمی آواتار atryad
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    شیراز
    پست
    255

    نقل قول: چک کردن صحت کد ملی

    میتونید به جای dll از کلاس توی تایپیک 4 استفاده کنید
    و طریقه استفاده هم شبیه dll است وی ا فقط تابع موجود در کلاس رو به صورت مجزا در هر جا که میخواهین کپی کنید و استفاده کنید
    public bool chek(string meli)
    {
    try
    {
    int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a, b;
    int sum, mm;
    char[] code = new char[12];
    if (meli == "1111111111" || meli == "2222222222"||
    meli == "3333333333" || meli == "4444444444"||
    meli == "5555555555" ||meli == "6666666666" ||
    meli == "7777777777" || meli == "8888888888"||
    meli == "9999999999" || meli == "0000000000")
    return false;
    code = meli.ToCharArray();
    ///////////////////////////////
    a1 = Convert.ToInt32(code[0].ToString()) * 10;//سه رقم اول
    a2 = Convert.ToInt32(code[1].ToString()) * 9;//
    a3 = Convert.ToInt32(code[2].ToString()) * 8;//
    //-----------------------
    a4 = Convert.ToInt32(code[3].ToString()) * 7;//
    a5 = Convert.ToInt32(code[4].ToString()) * 6;//
    a6 = Convert.ToInt32(code[5].ToString()) * 5;//شش رقم میانی
    a7 = Convert.ToInt32(code[6].ToString()) * 4;//
    a8 = Convert.ToInt32(code[7].ToString()) * 3;//
    a9 = Convert.ToInt32(code[8].ToString()) * 2;//
    //------------------
    a10 = Convert.ToInt32(code[9].ToString());//رقم اخر

    sum = a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 + a9;
    mm = (sum % 11);
    if (mm < 2)
    if (a10 == mm)
    return true;
    if (mm >= 2)
    if ((11 - mm) == a10)
    return true;
    return false;
    }
    catch
    {
    return false;
    }



    }
    که فراخونی اون هم به شکل زیر می باشد



    if (chek(textBox1.Text) == true)
    MessageBox.Show("کد ملی صحیح می باشد", "تایید", MessageBoxButtons.OK, MessageBoxIcon.Information);
    else
    MessageBox.Show("کد ملی صحیح نمی باشد", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Warning);

  12. #12
    کاربر دائمی آواتار ebraham
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    تهران
    پست
    126

    نقل قول: چک کردن صحت کد ملی

    سلام اين كد خوبه ولي ايراد داره من امتحانش كردم .اگه اعداد تكراري باشند بازم مي گه درسته !

  13. #13

    نقل قول: چک کردن صحت کد ملی

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

  14. #14
    کاربر دائمی آواتار atryad
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    شیراز
    پست
    255

    نقل قول: چک کردن صحت کد ملی

    تکرار در کد ملی مجاز است
    این میتونه یک کد ملی باشه
    2092090003
    2000000010

  15. #15
    کاربر دائمی آواتار atryad
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    شیراز
    پست
    255

    نقل قول: چک کردن صحت کد ملی

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

    a1 = Convert.ToInt32(code[0].ToString()) * 10;//سه رقم اول            a2 = Convert.ToInt32(code[1].ToString()) * 9;//
    a3 = Convert.ToInt32(code[2].ToString()) * 8;//

  16. #16
    کاربر دائمی
    تاریخ عضویت
    آبان 1390
    محل زندگی
    Visual Studio 2013
    پست
    218

    نقل قول: چک کردن صحت کد ملی

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

    دانلود سورس برنامه تشخیص صحت کد ملی

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •