作者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
→ B9:cell phone 應該都是09開頭 11/15 03:46
推 kenmax:請問為什麼不要直接對phone操作就好呢? 如:phone[0..3] 11/15 09:10
→ kenmax:還有區碼後的前三碼或前四碼取出後都不join?差別是?? 11/15 09:15
→ zusocfc:我後來有改過程式碼,這版本是整晚沒睡的情況下寫的XD 11/15 19:39
→ zusocfc:區碼的部份我會再多處理,謝謝提供資料︿︿ 11/15 19:39
※ 編輯: zusocfc 來自: 210.71.22.25 (11/21 20:27)