For a mobile shop application, I need to validate an IMEI number. I know how to validate based on input length, but is their any other mechanism for validating the input number? Is there any built-in function that can achieve this?
Logic from any language is accepted, and appreciated.
A search suggests that there isn't a built-in function that will validate an IMEI number, but there is a validation method using the Luhn algorithm.
General process:
490154203237518
49015420323751
& 8
. This last digit 8 is the validation digit.4 18 0 2 5 8 2 0 3 4 3 14 5 2
(excluding the validation digit)4 1 8 0 2 5 8 2 0 3 4 3 1 4 5 2
(notice that 18
and 14
have been split).4+1+8+0+2+5+8+2+0+3+4+3+1+4+5+2
= 52
60
.60 - 52
= 8
.The IMEI given in step 1 above is valid, because the number found in step #7 is 8, which matches the validation digit.