number_to_phone(number, options = {}) public

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

Options

  • :area_code - Adds parentheses around the area code.

  • :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.

  • :pattern - Specifies how the number is divided into three groups with the custom regexp to override the default format.

  • :raise - If true, raises InvalidNumberError when the argument is invalid.

Examples

number_to_phone(5551234)                                           # => 555-1234
number_to_phone("5551234")                                         # => 555-1234
number_to_phone(1235551234)                                        # => 123-555-1234
number_to_phone(1235551234, area_code: true)                       # => (123) 555-1234
number_to_phone(1235551234, delimiter: " ")                        # => 123 555 1234
number_to_phone(1235551234, area_code: true, extension: 555)       # => (123) 555-1234 x 555
number_to_phone(1235551234, country_code: 1)                       # => +1-123-555-1234
number_to_phone("123a456")                                         # => 123a456
number_to_phone("1234a567", raise: true)                           # => InvalidNumberError

number_to_phone(1235551234, country_code: 1, extension: 1343, delimiter: ".")
# => +1.123.555.1234 x 1343

number_to_phone(75561234567, pattern: /(\d{1,4})(\d{4})(\d{4})$/, area_code: true)
# => "(755) 6123-4567"
number_to_phone(13312345678, pattern: /(\d{3})(\d{4})(\d{4})$/))
# => "133-1234-5678"
Show source
Register or log in to add new notes.