natural.phone

natural.phone.e123(number, areasize=3, groupsize=4, national=False)

Printable E.123 (Notation for national and international telephone numbers from ITU) numbers.

Parameters:
  • number – string
  • areasize – int
  • groupsize – int
  • national – bool
>>> print(e123(155542315678))
+1 555 4231 5678
>>> print(e123('+31654231567', areasize=1))
+31 6 5423 1567
>>> print(e123('+3114020', areasize=2))
+31 14 020
>>> print(e123('+312054231567', areasize=2, national=True))
(020) 5423 1567
natural.phone.e161(number, alphabet={u'#': u'#', u'8tuv': u'8', u'3def': u'3', u'6mno': u'6', u'4ghi': u'4', u'*': u'*', u'1': u'1', u'0': u'0', u'2abc': u'2', u'5jkl': u'5', u'7prqs': u'7', u'9xyz': u'9'})

Printable a 26 Latin letters (A to Z) phone number to the 12-key telephone keypad number.

Parameters:
  • number – string
  • alphabet – dict
>>> print(e161('0800-PIZZA123'))
080074992123
>>> e161('0800^PIZZA123')
Traceback (most recent call last):
    ...
ValueError: Character "^" (0x5e) is not in the E.161 alphabet
natural.phone.e164(number)

Printable E.164 (The international public telecommunication numbering plan from ITU) numbers.

Parameters:number – string
>>> print(e164(155542315678))
+155542315678
>>> print(e164('+31 20 5423 1567'))
+312054231567
natural.phone.enum(number, zone='e164.arpa')

Printable DNS ENUM (telephone number mapping) record.

Parameters:
  • number – string
  • zone – string
>>> print(enum('+31 20 5423 1567'))
7.6.5.1.3.2.4.5.0.2.1.3.e164.arpa.
>>> print(enum('+31 97 99 6642', zone='e164.spacephone.org'))
2.4.6.6.9.9.7.9.1.3.e164.spacephone.org.
natural.phone.imei(number)

Printable International Mobile Station Equipment Identity (IMEI) numbers.

Parameters:number – string or int
>>> print(imei(12345678901234))
12-345678-901234-7
>>> print(imei(1234567890123456))
12-345678-901234-56
natural.phone.imsi(number)

Printable International Mobile Subscriber Identity (IMSI) numbers. Mind that there is no validation done on the actual correctness of the MCC/MNC. If you wish to validate IMSI numbers, take a look at python-stdnum.

Parameters:number – string or int
>>> print(imsi(2042312345))
204-23-12345
natural.phone.meid(number, separator=u' ')

Printable Mobile Equipment Identifier (MEID) number.

>>> print(meid(123456789012345678))
1B 69B4BA 630F34 6
>>> print(meid('1B69B4BA630F34'))
1B 69B4BA 630F34 6
natural.phone.pesn(number, separator=u'')

Printable Pseudo Electronic Serial Number.

Parameters:number – hexadecimal string
>>> print(pesn('1B69B4BA630F34E'))
805F9EF7