.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
 
Sign In
Register
 
Win Surprise Gifts!!!
Congratulations!!!


Top 5 Contributors of the Month
david stephan

Home >> Articles >> .Net Framework >> Post New Resource Bookmark and Share   

 Subscribe to Articles

IMEI-Validator in VB.NET

Posted By:Hefin Dsouza       Posted Date: August 11, 2009    Points: 25    Category: .Net Framework    URL: http://www.dotnetspark.com  
 

IMEI (International Mobile Equipment Identity) Code is a unique 15 Digit number which is usually found printed on the back side of the GSM/CDMA mobile phones battery.
The Logic behind identifying a correct IMEI Code is very simple.
The structure of the IMEI code is

AAAAAAAA - BBBBBB - C
AAAAAAAA = Type Allocation Code - The Type Allocation Code is an 8-digit number that identifies a particular model of wireless telephone for use on a GSM wireless network.

BBBBBB - Serial sequence of the model

And the most Important of All

C -The last number of the IMEI is a check digit calculated using the Luhn algorithm.
The check digit is validated in 3 steps:

  1. Starting from the right, double a digit every second digits (e.g., 8 ? 16).
  2. Sum the digits (e.g., 16 ? 1 + 6).
  3. Check if the sum is divisible by 10.

Conversely, one can calculate the IMEI by choosing the check digit that would give a sum divisible by 10. For the example IMEI 352048021523553,

IMEI 3 5 2 0 4 8 0 2 1 5 2 3 5 5  ?
Double Every Second Digit 3 10 2 0 4 16 0 4 1 10 2 6 5 10  ?
Sum digits 3+1+0+2+0+4+1+6+0+4+1+1+0+2+6+5+1+0 = 37

To make the sum divisible by 10, we set ? = 3, so the IMEI is .352048021523553

The reason I am writing this article is I had to develop a application for one of my client who was a mobile dealer and he had a requirement to check the IMEI of the mobiles he takes for sales or services.
Below is the code to Check a Valid IMEI code in VB.NET
In the TextBox Change Event of the TextBox where you want the user to enter the IMEI code type the following code.


Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)   

If TextBox1.Text.Length = 15 Then

Dim IMEI As String = TextBox1.Text  

Dim cnt As Integer = 0  

Dim nw As String = "" For Each c As Char In

IMEIcnt += 1
If cnt Mod 2 <> 0
Then
nw += c
Else
Dim d As Integer = Integer
.Parse(c) * 2nw += d.ToString()
End If Next Dim tot As Integer = 0 
 

For Each ch As Char In nw.Remove(nw.Length - 1, 1)

tot +=
Integer.Parse(ch) 

Next
Dim chDigit As Integer = 10 - (tot Mod 10) 
 

If chDigit = Integer.Parse(IMEI(IMEI.Length - 1)) Then

MsgBox("Valid")  

Else

MsgBox("Invalid")  

End If
End
If
End
Sub 


 
Hope this article helped you.
Regards
Hefin Dsouza


 Subscribe to Articles

     

Further Readings:

Responses

No response found. Be the first to respond this post

Post Comment

You must Sign In To post reply
Find More Articles on C#, ASP.Net, Vb.Net, SQL Server and more Here

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend