خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
تشخیص صحت کد ملی
دانلود سورس تشخیص صحت کد ملی
و اگر هم تمایلی به دانلود برنامه ندارید می توانید عینا همان کدها را در قسمت پایین کپی کنید و از آن استفاده نمایید.
Try
If txtNationalID.Text = String.Empty Then Exit Sub
Dim chArray As Char() = Me.txtNationalID.Text.ToCharArray()
Dim numArray As Integer() = New Integer(chArray.Length - 1) {}
For i As Integer = 0 To chArray.Length - 1
numArray(i) = CInt(Math.Truncate(Char.GetNumericValue(chArray(i))))
Next
Dim num2 As Integer = numArray(9)
Select Case Me.txtNationalID.Text
Case "0000000000", "1111111111", "22222222222", "33333333333", "4444444444", "5555555555", _
"6666666666", "7777777777", "8888888888", "9999999999"
MessageBox.Show("کد ملی وارد شده صحیح نمی باشد")
txtNationalID.Focus()
Exit Sub
Exit Select
End Select
Dim num3 As Integer = ((((((((numArray(0) * 10) + (numArray(1) * 9)) + (numArray(2) * 8)) + (numArray(3) * 7)) + (numArray(4) * 6)) + (numArray(5) * 5)) + (numArray(6) * 4)) + (numArray(7) * 3)) + (numArray(8) * 2)
Dim num4 As Integer = num3 - ((num3 \ 11) * 11)
If (((num4 = 0) AndAlso (num2 = num4)) OrElse ((num4 = 1) AndAlso (num2 = 1))) OrElse ((num4 > 1) AndAlso (num2 = Math.Abs(CInt(num4 - 11)))) Then
MessageBox.Show("کد ملی وارد شده صحیح می باشد")
Else
MessageBox.Show("کد ملی نامعتبر است")
txtNationalID.Focus()
Exit Sub
End If
Catch generatedExceptionName As Exception
MessageBox.Show("لطفا یک عدد 10 رقمی وارد کنید")
txtNationalID.Focus()
Exit Sub
End Try
کد ملی وارد شده نباید شامل ده تا 1 و 2 و غیره.. باشد. اگر به قسمت اول شرط دقت کنید، طوری کد نوشته شده که این اعداد در زمان وارد کردن کد ملی مورد تایید قرار نگیرند هر چند که با فرمول کد ملی که در خط پایین تر آن درج شده، تطابق دارند. چون همچین کد ملی هایی برای هیچ کس صادر نشده است.
در این برنامه یک TextBox یا جعبه متن قرار دادیم که با اجرای برنامه باید یک کد ملی را در آن وارد کنید چنانچه کد ملی وارد شده با فرمول تطبیق داشته باشد پیغام صحیح بودن و در غیر اینصورت پیغام اشتباه بودن کد ملی نمایش داده می شود. همچنین اگر تعداد ارقام کمتر از 10 رقم باشد پیغام اجباری بودن 10 رقمی کد ملی نمایش داده می شود و به اطلاع می دهد که کد ملی 10 رقمی نیست.
فرمول همین چیزیست که در این مقاله مشاهده می کنید و اگر در زبان برنامه نویسی غیر از VB.net کد نویسی می کنید کافیست این کدها را به آن زبان Convert کنید و از آن استفاده کنید.
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: