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

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

  1. #1
    کاربر دائمی آواتار arman_Delta2002
    تاریخ عضویت
    تیر 1387
    محل زندگی
    بابلسر
    سن
    27
    پست
    522
    تشکر کردن
    226
    175 بار تشکر شده در 113 پست

    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
    کاربر دائمی
    تاریخ عضویت
    آذر 1385
    پست
    599
    تشکر کردن
    14
    240 بار تشکر شده در 206 پست

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

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

  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1386
    پست
    54
    تشکر کردن
    49
    16 بار تشکر شده در 8 پست

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

    کد زیر را برای تشخیص صحت کد ملی به صورت 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

  4. 2 کاربر از amin_ir به خاطر این مطلب مفید تشکر کرده اند:


بوک مارک کردن این تاپیک

بوک مارک کردن این تاپیک

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

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