If I have an international phone number such as this:
0541754301
how can I format it to produce something like this:
0541-754-301
If I have an international phone number such as this:
0541754301
how can I format it to produce something like this:
0541-754-301
You could use the number_to_phone(number, options = {})
method from ActionView::Helpers::NumberHelper
However, the docs point out that this method formats a number into a US phone number (e.g., (555) 123-9876).
Instead you could use this patch which adds the ability to provide number groupings:
:groupings - Specifies alternate groupings
(must specify 3-element array; defaults to [3, 3, 4])
So in your case you would call:
number_to_phone('0541754301', :groupings => [4, 3, 3], :delimiter => "-")
to produce:
0541-754-301
You can use regular expression to reformat the string. For the example you have given:
"0541754301".sub(/(\d{4})(\d{3})(\d{3})/, "\\1-\\2-\\3") # returns: "0541-754-301"