IMEI (International Mobile Equipment Identity).
The IMEI is used to identify mobile phones. The IMEI may optionally include a check digit which is validated using the Luhn algorithm.
>>> is_valid('35686800-004141-20')
True
>>> is_valid('35-417803-685978-1') # incorrect check digit
False
>>> compact('35686800-004141-20')
'3568680000414120'
>>> format('354178036859789')
'35-417803-685978-9'
>>> format('35686800-004141', add_check_digit=True)
'35-686800-004141-8'
>>> imei_type('35686800-004141-20')
'IMEISV'
>>> split('35686800-004141')
('35686800', '004141', '')
Convert the IMEI number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.
Reformat the passed number to the standard format.
Check the passed number and returns ‘IMEI’, ‘IMEISV’ or None (for invalid) for checking the type of number passed.
Checks to see if the number provided is a valid IMEI (or IMEISV) number.
Split the number into a Type Allocation Code (TAC), serial number and either the checksum (for IMEI) or the software version number (for IMEISV).