Advertisement
Jackspade9624

parser format

May 13th, 2025
17
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.53 KB | None | 0 0
  1. import phonenumbers
  2. from phonenumbers import carrier, geocoder, PhoneNumberFormat
  3.  
  4. def parse_and_format_phone_number(phone_number, country_code):
  5. """Parses and formats a phone number."""
  6. try:
  7. parsed_number = phonenumbers.parse(phone_number, country_code)
  8. except phonenumbers.NumberParseException as e:
  9. return f"Error parsing phone number: {e}"
  10.  
  11. formatted_national = phonenumbers.format_number(parsed_number, PhoneNumberFormat.NATIONAL)
  12. formatted_international = phonenumbers.format_number(parsed_number, PhoneNumberFormat.INTERNATIONAL)
  13. formatted_e164 = phonenumbers.format_number(parsed_number, PhoneNumberFormat.E164)
  14.  
  15. carrier_name = carrier.name_for_number(parsed_number, "en")
  16. region_name = geocoder.description_for_number(parsed_number, "en")
  17.  
  18. return {
  19. "original_number": phone_number,
  20. "country_code": country_code,
  21. "formatted_national": formatted_national,
  22. "formatted_international": formatted_international,
  23. "formatted_e164": formatted_e164,
  24. "carrier": carrier_name,
  25. "region": region_name,
  26. }
  27.  
  28. if __name__ == "__main__":
  29. phone_number_input = input("Enter phone number: ")
  30. country_code_input = input("Enter country code (e.g., US, UK, DE): ")
  31.  
  32. result = parse_and_format_phone_number(phone_number_input, country_code_input)
  33.  
  34. if "Error" not in result:
  35. print("\nPhone Number Details:")
  36. for key, value in result.items():
  37. print(f"{key}: {value}")
  38. else:
  39. print(result)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement