欧洲手机滑轨
使用Rails在格式化,我能格式化一个数字,美国电话号码的使用使用欧洲手机格式number_to_phone欧洲手机滑轨
我',这意味着我要组号码,格式如下,n
是一个变量:
(n*x) xxx-xxx
一些例子
6365555796 => (6365) 555-796
665555796 => (665) 555-796
如何实现与最新的轨道3.0.7?
怎么样所以:
def to_phone(num)
groups = num.to_s.scan(/(.*)(\d{3})(\d{3})/).flatten
"(#{groups.shift}) #{groups.shift}-#{groups.shift}"
end
irb(main):053:0> to_phone 318273612
=> "(318) 273-612"
irb(main):054:0> to_phone 3182736122
=> "(3182) 736-122"
irb(main):055:0> to_phone 31827361221
=> "(31827) 361-221"
...
我认为你必须为此编写自己的方法,因为我没有内置的方法,我认为你可以通过编写合适的正则表达式来实现期望的目标。
你试过validate_format_for有:有ü可以写具体regualr表达它[见本段] http://ruby-forum.com/topic/180192编写自己的助手吧
检查这里这颗宝石是你所需要的http://github.com/floere/phony
afridi,为什么不将这些注释转移到您的答案中,以使其更加完整和可读? – oma 2011-04-25 08:56:17
更快的方法:
def to_european_phone_format(number)
"(#{number/10**6}) #{number/10**3%10**3}-#{number%10**3}"
end
不错;)这里不是“%10 ** 6”多余? – 2011-04-25 10:40:39
是的,是的。纠正。谢谢 :) – intellidiot 2011-04-25 11:43:03
您可以举几个例子来加深理解吗?特别是对于本节(n * x) – intellidiot 2011-04-25 06:45:07