Open In App

Phonenumbers module in Python

Improve
Improve
Like Article
Like
Save
Share
Report

Python is a very powerful language and also very rich in libraries. phonenumbers is one of the modules that provides numerous features like providing basic information of a phone number, validation of a phone number etc. Here, we will learn how to use phonenumbers module just by writing simple Python programs. This is a Python port of Google’s libphonenumber library.

Installation

Install the phonenumbers module by typing the following command in command prompt.

pip install phonenumbers

Getting Started

1. Convert String to phonenumber format: To explore the features of phonenumbers module, we need to take the phone number of a user in phonenumber format. Here we will see how to convert the user phone number to phonenumber format. Input must be of string type and country code must be added before phone number.

Python3




# Program to convert input to
# phonenumber format
  
import phonenumbers
  
# Parsing String to Phone number
# Phone number format: (+Countrycode)xxxxxxxxxx
phoneNumber = phonenumbers.parse("+919876543210")
  
# This will print the phone number and 
# it's basic details.
print(phoneNumber)


Output:

Country Code: 91 National Number: 9876543210

2. Get Timezone: Here is the simple Python program to get the timezone of a phone number using phonenumbers module. First, we do parse the string input to phonenumber format, and then we use an inbuilt function to get the timezone of a user. It gives the output for valid numbers only.

Python3




# Program to get timezone a phone number
  
import phonenumbers
from phonenumbers import timezone
  
# Parsing String to Phone number
phoneNumber = phonenumbers.parse("+919876543210")
  
# Pass the parsed phone number in below function
timeZone = timezone.time_zones_for_number(phoneNumber)
  
# It print the timezone of a phonenumber
print(timeZone)


Output:

('Asia/Calcutta',)

3. Extract phone numbers from text: We can extract phone numbers that are present in a text/paragraph using this module. You can iterate over it to retrieve a sequence of phone numbers. For this, PhoneNumberMatcher object provides the relevant function.

Python3




# Program to extract phone numbers from a text
import phonenumbers
  
# Text Input
text = "Contact us at +919876543210 or +14691234567"
  
# Pass the text and country code to the below function
numbers = phonenumbers.PhoneNumberMatcher(text, "IN")
  
# Printing the phone numbers matched with country code
# and also the indexes of the phone numbers in the string input
for number in numbers:
    print(number)


Output:

PhoneNumberMatch [14,27) +919876543210

4. Carrier and Region of a Phone Number: Here we will learn how to find the carrier and region of a phone number using the geocoder and carrier functions of this module.

Python3




# Program to find carrier and region
# of a phone number
import phonenumbers
from phonenumbers import geocoder, carrier
  
# Parsing String to Phone number
phoneNumber = phonenumbers.parse("+919876543210")
  
# Getting carrier of a phone number
Carrier = carrier.name_for_number(phoneNumber, 'en')
  
# Getting region information
Region = geocoder.description_for_number(phoneNumber, 'en')
  
# Printing the carrier and region of a phone number
print(Carrier)
print(Region)


Output:

Airtel
India

5. Validation of a phone number: A simple python program, to check whether a given phone number is valid or not (e.g. it’s in an assigned exchange), and to check whether a given phone number is possible or not (e.g. it has the right number of digits).

Python3




# Program to check whether a phone number is
# valid or not
import phonenumbers
  
# Parsing String to Phone number
phone_number = phonenumbers.parse("+91987654321")
  
# Validating a phone number
valid = phonenumbers.is_valid_number(phone_number)
  
# Checking possibility of a number
possible = phonenumbers.is_possible_number(phone_number)
  
# Printing the output
print(valid)
print(possible)


Output:

False
True


Last Updated : 05 Sep, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads