Format phone number in Rails

February 22, 2008

 
No Gravatar

Recently, I have needed to take a number string and format it to a phone number. This was a PITA in PHP, fortunately, Rails includes some methods that will make the formatting of phone numbers much easier.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# number_to_phone(number, options = {})
# Formats a number into a US phone number (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.
 
# returns => 123-555-1234
number_to_phone(1235551234)
 
# returns => (123) 555-1234
number_to_phone(1235551234, :area_code => true) 
 
# returns => 123 555 1234
number_to_phone(1235551234, :delimiter => " ")
 
# returns => (123) 555-1234 x 555
number_to_phone(1235551234, :area_code => true, :extension => 555) 
 
# returns => +1-123-555-1234
number_to_phone(1235551234, :country_code => 1)     
 
# returns => +1.123.555.1234 x 1343
number_to_phone(1235551234, :country_code => 1, :extension => 1343, :delimiter => ".")

Want to see it in action?

  • photusEnigma
    Nice posting...thanks. Was wondering how to deal with extensions, and decided to google on a whim rather than look at the Rails documentation like I often do...glad I did! This is much more pleasantly readable! :)
blog comments powered by Disqus