Python – Format Phone Number

Format Phone Number

You can format a given phone number into desired format using phonenumbers.format_number() function.

Pass the PhoneNumber object and format to phonenumbers.format_number() function, and it returns a string with given phone number in the specified format.

Some of the formats are

  • phonenumbers.PhoneNumberFormat.NATIONAL
  • phonenumbers.PhoneNumberFormat.INTERNATIONAL
  • phonenumbers.PhoneNumberFormat.E164
  • phonenumbers.PhoneNumberFormat.RFC3966

Examples

1. Format phone number to NATIONAL

In the following program, we take a phone number string, parse it to PhoneNumber object, and format this PhoneNumber object to NATIONAL format.

Python Program

import phonenumbers

#phone number in a string
phonenumber_string = "+442083661177"

#parse string to a PhoneNumber object
x = phonenumbers.parse(phonenumber_string)

#format PhoneNumber to NATIONAL
formatted = phonenumbers.format_number(x, phonenumbers.PhoneNumberFormat.NATIONAL)
print('NATIONAL Format :', formatted)

Output

NATIONAL Format : 020 8366 1177

2. Format phone number to INTERNATIONAL

In the following program, we take a phone number string, parse it to PhoneNumber object, and format this PhoneNumber object to INTERNATIONAL format.

Python Program

import phonenumbers

#phone number in a string
phonenumber_string = "+442083661177"

#parse string to a PhoneNumber object
x = phonenumbers.parse(phonenumber_string)

#format PhoneNumber to INTERNATIONAL
formatted = phonenumbers.format_number(x, phonenumbers.PhoneNumberFormat.INTERNATIONAL)
print('INTERNATIONAL Format :', formatted)

Output

INTERNATIONAL Format : +44 20 8366 1177

3. Format phone number to E164

In the following program, we take a phone number string, parse it to PhoneNumber object, and format this PhoneNumber object to E164 format.

Python Program

import phonenumbers

#phone number in a string
phonenumber_string = "+442083661177"

#parse string to a PhoneNumber object
x = phonenumbers.parse(phonenumber_string)

#format PhoneNumber to E164
formatted = phonenumbers.format_number(x, phonenumbers.PhoneNumberFormat.E164)
print('E164 Format :', formatted)

Output

E164 Format : +442083661177

4. Format phone number to RFC3966

In the following program, we take a phone number string, parse it to PhoneNumber object, and format this PhoneNumber object to RFC3966 format.

Python Program

import phonenumbers

#phone number in a string
phonenumber_string = "+442083661177"

#parse string to a PhoneNumber object
x = phonenumbers.parse(phonenumber_string)

#format PhoneNumber to RFC3966
formatted = phonenumbers.format_number(x, phonenumbers.PhoneNumberFormat.RFC3966)
print('RFC3966 Format :', formatted)

Output

RFC3966 Format : tel:+44-20-8366-1177

Summary

In this tutorial of Python Examples, we learned how to format a given phone number using format_number() function, with the help of example programs.