module ActiveSupport::NumberHelper
def number_to_phone(number, options = {})
number_to_phone(13312345678, pattern: /(\d{3})(\d{4})(\d{4})$/)
# => "(755) 6123-4567"
number_to_phone(75561234567, pattern: /(\d{1,4})(\d{4})(\d{4})$/, area_code: true)
# => "+1.123.555.1234 x 1343"
number_to_phone(1235551234, country_code: 1, extension: 1343, delimiter: '.')
number_to_phone('123a456') # => "123a456"
number_to_phone(1235551234, country_code: 1) # => "+1-123-555-1234"
number_to_phone(1235551234, area_code: true, extension: 555) # => "(123) 555-1234 x 555"
number_to_phone(1235551234, delimiter: ' ') # => "123 555 1234"
number_to_phone(1235551234, area_code: true) # => "(123) 555-1234"
number_to_phone(1235551234) # => "123-555-1234"
number_to_phone('5551234') # => "555-1234"
number_to_phone(5551234) # => "555-1234"
==== Examples
groups with the custom regexp to override the default format.
* :pattern - Specifies how the number is divided into three
number.
* :country_code - Sets the country code for the phone
end of the generated number.
* :extension - Specifies an extension to add to the
(defaults to "-").
* :delimiter - Specifies the delimiter to use
* :area_code - Adds parentheses around the area code.
==== Options
123-9876). You can customize the format in the +options+ hash.
Formats a +number+ into a phone number (US by default e.g., (555)
def number_to_phone(number, options = {}) NumberToPhoneConverter.convert(number, options) end