Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
449 views
in Technique[技术] by (71.8m points)

ruby - How to format this international phone number in Rails?

If I have an international phone number such as this:

0541754301

how can I format it to produce something like this:

0541-754-301

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...