View Source Number.Phone (number v1.0.5)

Provides functions to convert numbers into formatted phone number strings.

Summary

Functions

Formats a number into a US phone number (e.g., (555) 123-9876). You can customize the format in the options list.

Functions

Link to this function

number_to_phone(number, options \\ [])

View Source
@spec number_to_phone(Number.t() | String.t(), Keyword.t()) :: String.t()

Formats a number into a US phone number (e.g., (555) 123-9876). You can customize the format in the options list.

Parameters

  • number - A float or integer to convert.

  • options - A keyword list of options. See the documentation of all available options below for more information.

Options

  • :area_code - Adds parentheses around the area code if true.

  • :delimiter - Specifies the delimiter to use (defaults to “-”).

  • :extension - Specifies an extension to add to the end of the generated number.

  • :country_code - Sets the country code for the phone number.

Default config for these options can be specified in the Number application configuration.

config :number,
  phone: [
    area_code: false,
    delimiter: "-",
    extension: nil,
    country_code: nil
  ]

Examples

iex> Number.Phone.number_to_phone(nil)
nil

iex> Number.Phone.number_to_phone(5551234)
"555-1234"

iex> Number.Phone.number_to_phone("5551234")
"555-1234"

iex> Number.Phone.number_to_phone(1235551234)
"123-555-1234"

iex> Number.Phone.number_to_phone(1235551234, area_code: true)
"(123) 555-1234"

iex> Number.Phone.number_to_phone(1235551234, delimiter: " ")
"123 555 1234"

iex> Number.Phone.number_to_phone(1235551234, area_code: true, extension: 555)
"(123) 555-1234 x 555"

iex> Number.Phone.number_to_phone(1235551234, area_code: true, extension: 555, country_code: 1)
"+1 (123) 555-1234 x 555"

iex> Number.Phone.number_to_phone(1235551234, country_code: 1)
"+1-123-555-1234"

iex> Number.Phone.number_to_phone("123a456")
"123a456"

iex> Number.Phone.number_to_phone(1235551234, country_code: 1, extension: 1343, delimiter: ".")
"+1.123.555.1234 x 1343"