Sanitize, validate and format phone numbers into E.164 valid phone numbers.
Project description
py-phone-number-fmt
Sanitize, validate and format phone numbers into E.164 valid phone numbers.
Google's libphonenumber on steroids. Tries all sorts of crazy combinations in an attempt to create a valid phone number. Useful for those of us who have to deal with poorly sanitized data.
Installation
$ pip install py-phone-number-fmt
Usage
Retrieve first valid number
from phonenumberfmt import format_phone_number
# implied phone region is the country of which to
# use the dialing prefix in case the number appears
# to be local
result = format_phone_number('778\173 0.92', implied_phone_region='RO')
assert result == '+40778173092'
Retrieve all valid numbers
# implied phone region is the country of which to
# use the dialing prefix in case the number appears
# to be local
result = format_phone_number_list('+40773818041 / +97172273000', implied_phone_region='RO')
assert result == ['+40778173092', '+97172273000']
The resulting phone number will be formatted according to the E.164 standard. Want to change the output format? Pass the third, optional parameter fmt
with a valid member of phonenumbers.NumberFormat
:
from phonenumbers import NumberFormat
result = format_phone_number(
'778\173 0.92',
implied_phone_region='RO',
fmt=NumberFormat.INTERNATIONAL, # default is NumberFormat.E164
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for py-phone-number-fmt-1.2b1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14ec5448b892737f80659b3d2ebe73f3a90b534437173145778357dca6158237 |
|
MD5 | 84c6338fab9aad3f99d51a9e085163e0 |
|
BLAKE2b-256 | 3ff89ac3ccd492760b18c20e18a396f846f530daaac8437264fe617b171ed5ad |