作者zusocfc (CFC)
看板Ruby
标题[RoR ] [函式分享] number_to_tw_phone
时间Sat Nov 15 02:40:14 2008
def number_to_tw_phone(phone, cellphone=false)
raise "Phone number error!" if phone.size < 9 || phone.size > 10 ||
(phone.size < 10 if cellphone)
no = phone.split("")
return %{#{no[0..3].join}-#{no[4..6]}-#{no[7..9]}} if cellphone
return %{(#{no[0..2].join})#{no[3..5]}-#{no[6..8].join}} if no[0..2].join
== "089" # Tai-dong
return %{(#{no[0..1].join})#{no[2..4]}-#{no[5..8].join}} if phone.size ==
9
return %{(#{no[0..1].join})#{no[2..5]}-#{no[6..9].join}} if phone.size ==
10
end
puts number_to_tw_phone("0987654321", true) #=> 0987-654-321
puts number_to_tw_phone("0234567890") #=> (02)3456-7890
puts number_to_tw_phone("087654321") #=> (08)765-4321
puts number_to_tw_phone("089876543") #=> (089)876-543 #=> 这是台东
的电话
那天开发专案时写的,有没有什麽建议XD?
Updated: 2008/11/21
今天更新了,我放在Github上面:
http://github.com/cfc/taiwan_helpers/tree/master
请指教:)
谢谢
--
南无喝罗怛那哆罗夜耶南无阿唎耶婆卢羯帝烁钵罗耶菩提萨埵婆耶摩诃萨埵婆耶摩诃迦卢尼
迦耶唵萨皤罗罚曳数怛那怛写南无悉吉栗埵伊蒙阿唎耶婆卢吉帝室佛罗愣驮婆南无那罗谨墀
醯利摩诃皤哆沙咩萨婆阿他豆输朋阿逝孕萨婆萨哆那摩婆萨哆那摩婆伽摩罚特豆怛侄他唵阿
婆卢醯卢迦帝迦罗帝夷醯唎摩诃菩提萨埵萨婆萨婆摩罗摩罗摩醯摩醯唎驮孕俱卢俱卢羯蒙度
卢度卢罚闍耶帝摩诃罚闍耶帝陀罗陀罗地唎尼室佛罗耶遮罗遮罗摩麽罚摩罗穆帝隶伊醯伊醯
室那室那阿罗参佛罗舍利罚沙罚参佛罗舍耶呼嚧呼嚧摩罗呼嚧呼嚧醯利娑罗娑罗悉唎悉唎苏
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.164.1.218
2F:→ B9:cell phone 应该都是09开头 11/15 03:46
3F:推 kenmax:请问为什麽不要直接对phone操作就好呢? 如:phone[0..3] 11/15 09:10
4F:→ kenmax:还有区码後的前三码或前四码取出後都不join?差别是?? 11/15 09:15
5F:→ zusocfc:我後来有改过程式码,这版本是整晚没睡的情况下写的XD 11/15 19:39
6F:→ zusocfc:区码的部份我会再多处理,谢谢提供资料︿︿ 11/15 19:39
※ 编辑: zusocfc 来自: 210.71.22.25 (11/21 20:27)