module ActiveSupport::NumberHelper
def number_to_phone(number, options = {})
# => "(755) 6123-4567"
number_to_phone(75561234567, pattern: /(\d{1,4})(\d{4})(\d{4})$/, area_code: true)
# => "133-1234-5678"
number_to_phone(13312345678, pattern: /(\d{3})(\d{4})(\d{4})$/)
three captures from the regexp are treated as digit groups.
A regexp that specifies how the digits should be grouped. The first
[+:pattern+]
# => "123-555-1234 x 555"
number_to_phone(1235551234, extension: 555)
An extension to append.
[+:extension+]
# => "+1-123-555-1234"
number_to_phone(1235551234, country_code: 1)
A country code to prepend.
[+:country_code+]
# => "123 555 1234"
number_to_phone(1235551234, delimiter: " ")
The digit group delimiter to use. Defaults to "-".
[+:delimiter+]
# => "(123) 555-1234"
number_to_phone(1235551234, area_code: true)
Whether to use parentheses for the area code. Defaults to false.
[+:area_code+]
==== Options
# => "+1.123.555.1234 x 1343"
number_to_phone(1235551234, delimiter: ".", country_code: 1, extension: 1343)
number_to_phone("12x34") # => "12x34"
number_to_phone(1235551234) # => "123-555-1234"
number_to_phone("5551234") # => "555-1234"
number_to_phone(5551234) # => "555-1234"
Formats +number+ into a phone number.
def number_to_phone(number, options = {}) NumberToPhoneConverter.convert(number, options) end