نمایش نتایج 1 تا 3 از 3

نام تاپیک: بدست آوردن کد ملی توسط فرمول

  1. #1
    کاربر دائمی آواتار arman_Delta2002
    تاریخ عضویت
    تیر 1387
    محل زندگی
    بابلسر
    سن
    37
    پست
    707

    Angry بدست آوردن کد ملی توسط فرمول

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

    function checkMelliCode(varmellicode)
    {
    var meli_code;
    meli_code=varmellicode.value;
    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′ )
    {
    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;
    }

    مشکل کد اینجاست

    r=n -parseInt(n/11)*11

    خوب هر عددی جای N بزاری که R برابر 0 میشه
    کسی درست شده این کد رو نداره . این کد فرمول بدست آوردن صحت کد ملی است که تویه همین سایت هم به صورت مشکل دارش وجود داره . من Dll یا OCX اونو نمیخوام فقط کد اون رو لطف کنین ممنون میشم.

  2. #2

    نقل قول: کمک - بدست آوردن کد ملی توسط فرمول

    سلام٬ اشتباه میکنی٬ وقتی به تابع ParseInt داده میشه٬ به عدد صحیح تبدیل میشه و اعشارش از بین میره
    در واقع این روش یک روش ساده برای بدست آوردن باقیمانده است.
    موفق باشی

  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1386
    پست
    55

    نقل قول: کمک - بدست آوردن کد ملی توسط فرمول

    کد زیر را برای تشخیص صحت کد ملی به صورت vb نوشتم که مشکلات مد نظر شما در آن رفع شده است
      Public Function Check_Code_meli(S As String)
    Dim meli_code, C, N, R As Long
    If (Len(S) = 10) Then
    If (S = "1111111111" Or S = 0 Or S = "222222222" Or S = "3333333333" Or S = "4444444444" & _
    S = "5555555555" Or S = "6666666666" Or S = "7777777777" Or S = "8888888888" Or S = "9999999999") Then

    MsgBox "It's Wrong", vbCritical, "Error"
    Check_Code_meli = False

    Else

    C = Val(Right((S), 1))
    N = (Val(Left((S), 1)) * 10) + (Val(Mid((S), 2, 1)) * 9) + (Val(Mid((S), 3, 1)) * 8) + (Val(Mid((S), 4, 1)) * 7) + (Val(Mid((S), 5, 1)) * 6) + (Val(Mid((S), 6, 1)) * 5) + (Val(Mid((S), 7, 1)) * 4) + (Val(Mid((S), 8, 1)) * 3) + (Val(Mid((S), 9, 1)) * 2)
    R = N - Fix(N / 11) * 11
    If ((R = 0 And R = C) Or (R = 1 And C = 1) Or (R > 1 And C = 11 - R)) Then
    Check_Code_meli = True
    Else
    MsgBox " It's Wrong ", vbCritical, "Error"
    Check_Code_meli = False
    End If
    End If
    Else

    MsgBox "It's not 10 digit", vbCritical, "Error"
    Check_Code_meli = False
    End If

    End Function

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

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