تابع بررسی صحت کد ملی

با سلام

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

درواقع کد ملی  یه سری روابط بین اعدادش هست که اگر اون روابط صحیح نباشه کدملی صحت نداره

 

Sub CheckMelliCode(MelliCode As String)As Boolean
	Dim b As Boolean 
	Dim sCodePosition(10) As String
	Dim iCodePosition(10) As String
	
	Dim resultStep1,resultStep2,resultStep3 As Int
	
	If MelliCode.Length = 10 Then 
		
		For i = 0 To 9 
			sCodePosition(i) = MelliCode.CharAt(i)
			iCodePosition(i) = sCodePosition(i)	
		Next
	
		resultStep1 = (iCodePosition(0)*10)+(iCodePosition(1)*9)+(iCodePosition(2)*8)+(iCodePosition(3)*7)+(iCodePosition(4)*6)+(iCodePosition(5)*5)+(iCodePosition(6)*4)+(iCodePosition(7)*3)+(iCodePosition(8)*2)	
		resultStep2 = (resultStep1 mod 11)
		resultStep3 = 11 - resultStep2	
			If resultStep2 < 2 Then 
				If resultStep2 = iCodePosition(9) Then 
					b = True
					Return b
				Else 
	               	b = False 
					Return b 
				End If  		
			Else
						If resultStep3 = iCodePosition(9) Then 
							b = True 
							Return b 
						Else
						 	b = False 
				            Return b
						End If 		
			End If 	
	Else 	
			b = False 
			Return b
	End If

End Sub

 

دیدگاهتان را بنویسید