PageRenderTime 49ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/src/Faker/Provider/zh_TW/Address.php

http://github.com/fzaninotto/Faker
PHP | 419 lines | 388 code | 22 blank | 9 comment | 0 complexity | 082cb2b5b1beb7720da41849c571ba43 MD5 | raw file
  1. <?php
  2. namespace Faker\Provider\zh_TW;
  3. class Address extends \Faker\Provider\Address
  4. {
  5. protected static $streetNameFormats = array(
  6. '{{street}}{{streetSuffix}}',
  7. '{{street}}{{streetSuffix}}{{randomChineseNumber}}段',
  8. );
  9. protected static $streetAddressFormats = array(
  10. '{{streetName}}{{randomNumber3}}號',
  11. '{{streetName}}{{randomNumber3}}號{{randomNumber2}}樓',
  12. '{{streetName}}{{randomNumber3}}巷{{randomNumber3}}號',
  13. '{{streetName}}{{randomNumber3}}巷{{randomNumber3}}號{{randomNumber2}}樓',
  14. '{{streetName}}{{randomNumber3}}巷{{randomNumber3}}弄{{randomNumber3}}號',
  15. '{{streetName}}{{randomNumber3}}巷{{randomNumber3}}弄{{randomNumber3}}號{{randomNumber2}}樓',
  16. );
  17. protected static $secondaryAddressSuffix = array('室', '房');
  18. protected static $addressFormats = array(
  19. '{{postcode}} {{city}}{{streetAddress}}',
  20. );
  21. protected static $streetSuffix = array(
  22. '路', '街',
  23. );
  24. /**
  25. * @link http://blog.davidou.org/archives/583
  26. */
  27. protected static $street = array(
  28. '東英二', '大公十三', '美術南一', '漁港',
  29. '德美', '福林', '榮安', '忠孝南', '新立',
  30. '清壽', '豐偉', '華中三', '賴明', '樹仁二',
  31. '文萊', '凱得', '克武', '豐盛', '府前四',
  32. '昭德', '鳳仁', '富漁五', '炎峰街青年巷',
  33. '北園', '衙國一', '五和', '南村', '大埔五',
  34. '大有四', '太平', '瑞發', '大學二十八',
  35. '吉興六', '赤東一', '大學二十三', '龍德',
  36. '昌文', '天仁北', '賢好', '崇陽', '梅龍',
  37. '羅厝大坵村九江', '福鎮', '天玉', '新北一',
  38. '臥龍', '平生', '碇內', '衙國三', '慶豐九',
  39. '富漁二', '公興', '坤成', '民富十六',
  40. '光榮北', '赤崁東', '上麒麟',
  41. '公館村東平', '安船', '豐興', '三角',
  42. '豐裡二', '嘉豐九', '後協', '永樂南',
  43. '冷水', '德陽', '水汴一', '工明一',
  44. '環山九如', '永榮二', '清潭',
  45. '土地公嶺', '武淵三', '文莊', '長億東三',
  46. '舊城東', '大政', '玉興', '永春南',
  47. '國盛八', '工業區二十四', '北一', '樂群二',
  48. '東碇', '龍華南', '榮豐', '大豐',
  49. '楓江', '觀光街八連', '保興二',
  50. '安通二', '和順三', '彰濱東七', '麻園六',
  51. '上樹村北寧', '香賓街得月巷', '光平',
  52. '車子', '崇禮', '國慶', '阿玉', '中街',
  53. '同心一', '縣政十六', '德正', '濱一',
  54. '健行北', '大灣七', '大明', '三多五',
  55. '富裕三', '園南三', '安樂四', '新安七',
  56. '河南東四', '中坑', '明野', '秀峰', '溪心',
  57. '掃叭頂一', '復興南', '果峰', '新興三',
  58. '公安', '松智三', '國富二十八', '理想',
  59. '文工十二', '大竹二', '名山六', '文華一',
  60. '樹仁', '縣政六', '泰成', '河濱', '德吉',
  61. '竹林', '富台東', '東泰二', '茶專二',
  62. '海康', '廣安二', '軍福十八', '北文',
  63. '新興海埔地五', '秀隆', '福德南', '重化',
  64. '大安港', '東英三', '精明一', '寶強',
  65. '泰昌五', '立功', '文明一', '福吉一',
  66. '興竹', '德泉', '中正六', '工八',
  67. '鹽埕巷三汴', '龍天', '功安一', '炎峰',
  68. '路科一', '海明', '僑和', '松廉', '福豐南',
  69. '南園', '孝順', '富強', '保定一', '瑪鋉頂',
  70. '嘉興', '立德四', '中車', '陽東營區忠三',
  71. '福中九', '東十二', '頂湖五', '法院前',
  72. '西海', '士林', '北濱', '富農一', '厚北',
  73. '全福', '平新一', '集鹿南', '吉利六',
  74. '岩灣', '新基', '禾豐二', '東角', '青島一',
  75. '勢林街馨園一巷', '福陽', '文南一', '涵碧',
  76. '錦田', '國賢一', '北祥', '新成',
  77. '光榮東', '三鶯', '大通一', '平菁',
  78. '甘肅二', '古賀', '新北六', '大庄村田中',
  79. '四分子', '文三一', '站前街鐵路南舍',
  80. '新北二', '楓林十', '中北二', '北安三',
  81. '中華南', '光華西', '寧夏東二',
  82. '樹德', '八德中', '文館', '正英八',
  83. '大公十七', '銅科南', '長壽三', '漢翔',
  84. '太平十九', '宜平', '精武', '鼎金中',
  85. '鎮原', '明義一', '新烏', '蘭洲街三疊溪',
  86. '六家八', '南勢坑', '工業東六', '四平',
  87. '甘肅', '永康', '雙十',
  88. '大地', '中陽東', '立華', '維揚', '太原三',
  89. '水源', '重立', '民主四', '南福',
  90. '鎮國', '永勝', '新華', '柯林新', '南橋一',
  91. '大公十四', '勝利七', '三和二',
  92. '東庄', '文匯', '中新一', '松信一',
  93. '寶君', '平安南', '文學', '大華五',
  94. '行義', '百五', '草衙中', '嘉祥五',
  95. '平等', '光美', '成功十六', '精誠三',
  96. '水美', '文化十', '民權東', '大慶',
  97. '源泉', '文成北', '大坪五', '光華六',
  98. '玉清二', '龍鳳', '上山二', '西十四',
  99. '文康', '崇德十二', '天泉一', '新庄',
  100. '芝麻五', '中山西', '長春', '中一',
  101. '八張二', '嘉安八', '成德九', '三村',
  102. '忠孝東', '遼北', '徐州一', '徐州五',
  103. '六張', '中西', '大平', '順興', '新展',
  104. '南澳南', '吉利四', '久安二', '斗六五',
  105. '登山', '貴林', '桐竹', '社斗',
  106. '中樂', '山湖二', '長園二', '埤尾', '應化',
  107. '水碓二', '嶺頂九分', '中和', '幸福五',
  108. '長安東', '愛富二街厚生巷', '崇德三',
  109. '甲樹', '篤信', '金龍二', '為隨東',
  110. '明鳳五', '草湖村仁愛', '至平', '惟馨',
  111. '濃公', '錫安', '中庄東', '保順',
  112. '龍橋', '文二三', '通明', '東信',
  113. '秀福', '光榮', '棒球三', '立達',
  114. '長樂五', '永安', '瀋陽', '文宏一',
  115. '斗苑', '新興二', '新五', '科雅六',
  116. '青埔八', '永安東', '行忠', '梅亭東',
  117. '保榮', '國富二十六', '自強九', '學進',
  118. '線東', '中興二', '柯林七', '國盛三',
  119. '平安', '重建', '臥龍', '松文', '花秀',
  120. '太原四', '北門', '新生三', '花旗',
  121. '大源十九', '光華十', '內江', '埔興',
  122. '芝柏一', '府中', '乾興', '華廈', '長埤',
  123. '新富', '山明', '城中五', '富裕十七',
  124. '修明', '贊庄大仁', '三和', '科大一',
  125. '光州一', '平等十二', '新寮一', '東林東',
  126. '永新二', '頂橫', '東門', '石園', '寶深',
  127. '長青', '金鋒一', '福壽', '連雲',
  128. '自立二', '北辰一', '松三', '嘉朴',
  129. '鎮新二', '莊敬', '中興十', '忠明七',
  130. '福興八', '中心', '海口北', '工業三',
  131. '大弘一', '親民', '芳樂', '赤崁南', '文開',
  132. '五權西', '新興海埔地三', '華泰一',
  133. '文澄', '中山西', '崇德二十九',
  134. '內定七', '新基北', '南澳', '尚德',
  135. '後港一', '西建', '力行五', '中央七',
  136. '苓安', '裕隆', '布西', '鹽田',
  137. '建國南', '順興', '朝奉', '賜安',
  138. '崇德十八', '頂庄', '福營', '工業二十',
  139. '徐州四', '鼎愛', '香檳二', '竹社',
  140. '惠中一', '重仁', '德福', '同源',
  141. '下莊新生', '廣明', '明仁一', '中正東',
  142. '鳳尾', '濟南', '復華四', '新基南',
  143. '潭工一', '學三', '龍善二', '六路七',
  144. '環美', '建興三', '福錦', '永義九',
  145. '和祥七', '漁港中一', '樹林六', '東信',
  146. '壽福', '鳳楠', '五福六', '大源二十',
  147. '南勢十', '中港三', '小坑', '勝利十五',
  148. '老吸', '鎮新五', '名水', '蘇港',
  149. '櫻城三', '裕孝三', '稻香五', '豐源',
  150. '大功', '陜西',
  151. );
  152. /**
  153. * @link http://zh.wikipedia.org/wiki/%E8%87%BA%E7%81%A3%E8%A1%8C%E6%94%BF%E5%8D%80%E5%8A%83
  154. */
  155. protected static $city = array(
  156. '新北市' => array(
  157. '板橋區', '三重區', '中和區', '永和區',
  158. '新莊區', '新店區', '樹林區', '鶯歌區',
  159. '三峽區', '淡水區', '汐止區', '瑞芳區',
  160. '土城區', '蘆洲區', '五股區', '泰山區',
  161. '林口區', '深坑區', '石碇區', '坪林區',
  162. '三芝區', '石門區', '八里區', '平溪區',
  163. '雙溪區', '貢寮區', '金山區', '萬里區',
  164. '烏來區',
  165. ),
  166. '宜蘭縣' => array(
  167. '宜蘭市', '羅東鎮', '蘇澳鎮', '頭城鎮', '礁溪鄉',
  168. '壯圍鄉', '員山鄉', '冬山鄉', '五結鄉', '三星鄉',
  169. '大同鄉', '南澳鄉',
  170. ),
  171. '桃園市' => array(
  172. '桃園區', '中壢區', '大溪區', '楊梅區', '蘆竹區',
  173. '大園區', '龜山區', '八德區', '龍潭區', '平鎮區',
  174. '新屋區', '觀音區', '復興區',
  175. ),
  176. '新竹縣' => array(
  177. '竹北市', '竹東鎮', '新埔鎮', '關西鎮', '湖口鄉',
  178. '新豐鄉', '芎林鄉', '橫山鄉', '北埔鄉', '寶山鄉',
  179. '峨眉鄉', '尖石鄉', '五峰鄉',
  180. ),
  181. '苗栗縣' => array(
  182. '苗栗市', '苑裡鎮', '通霄鎮', '竹南鎮', '頭份鎮',
  183. '後龍鎮', '卓蘭鎮', '大湖鄉', '公館鄉', '銅鑼鄉',
  184. '南庄鄉', '頭屋鄉', '三義鄉', '西湖鄉', '造橋鄉',
  185. '三灣鄉', '獅潭鄉', '泰安鄉',
  186. ),
  187. '臺中市' => array(
  188. '豐原區', '東勢區', '大甲區', '清水區', '沙鹿區',
  189. '梧棲區', '后里區', '神岡區', '潭子區', '大雅區',
  190. '新社區', '石岡區', '外埔區', '大安區', '烏日區',
  191. '大肚區', '龍井區', '霧峰區', '太平區', '大里區',
  192. '和平區', '中區', '東區', '南區', '西區', '北區',
  193. '西屯區', '南屯區', '北屯區',
  194. ),
  195. '彰化縣' => array(
  196. '彰化市', '鹿港鎮', '和美鎮', '線西鄉', '伸港鄉',
  197. '福興鄉', '秀水鄉', '花壇鄉', '芬園鄉', '員林鎮',
  198. '溪湖鎮', '田中鎮', '大村鄉', '埔鹽鄉', '埔心鄉',
  199. '永靖鄉', '社頭鄉', '二水鄉', '北斗鎮', '二林鎮',
  200. '田尾鄉', '埤頭鄉', '芳苑鄉', '大城鄉', '竹塘鄉',
  201. '溪州鄉',
  202. ),
  203. '南投縣' => array(
  204. '南投市', '埔里鎮', '草屯鎮', '竹山鎮', '集集鎮',
  205. '名間鄉', '鹿谷鄉', '中寮鄉', '魚池鄉', '國姓鄉',
  206. '水里鄉', '信義鄉', '仁愛鄉',
  207. ),
  208. '雲林縣' => array(
  209. '斗六市', '斗南鎮', '虎尾鎮', '西螺鎮', '土庫鎮',
  210. '北港鎮', '古坑鄉', '大埤鄉', '莿桐鄉', '林內鄉',
  211. '二崙鄉', '崙背鄉', '麥寮鄉', '東勢鄉', '褒忠鄉',
  212. '臺西鄉', '元長鄉', '四湖鄉', '口湖鄉', '水林鄉',
  213. ),
  214. '嘉義縣' => array(
  215. '太保市', '朴子市', '布袋鎮', '大林鎮', '民雄鄉',
  216. '溪口鄉', '新港鄉', '六腳鄉', '東石鄉', '義竹鄉',
  217. '鹿草鄉', '水上鄉', '中埔鄉', '竹崎鄉', '梅山鄉',
  218. '番路鄉', '大埔鄉', '阿里山鄉',
  219. ),
  220. '臺南市' => array(
  221. '新營區', '鹽水區', '白河區', '柳營區', '後壁區',
  222. '東山區', '麻豆區', '下營區', '六甲區', '官田區',
  223. '大內區', '佳里區', '學甲區', '西港區', '七股區',
  224. '將軍區', '北門區', '新化區', '善化區', '新市區',
  225. '安定區', '山上區', '玉井區', '楠西區', '南化區',
  226. '左鎮區', '仁德區', '歸仁區', '關廟區', '龍崎區',
  227. '永康區', '東區', '南區', '西區', '北區', '中區',
  228. '安南區', '安平區',
  229. ),
  230. '高雄市' => array(
  231. '鳳山區', '林園區', '大寮區', '大樹區', '大社區',
  232. '仁武區', '鳥松區', '岡山區', '橋頭區', '燕巢區',
  233. '田寮區', '阿蓮區', '路竹區', '湖內區', '茄萣區',
  234. '永安區', '彌陀區', '梓官區', '旗山區', '美濃區',
  235. '六龜區', '甲仙區', '杉林區', '內門區', '茂林區',
  236. '桃源區', '三民區', '鹽埕區', '鼓山區', '左營區',
  237. '楠梓區', '三民區', '新興區', '前金區', '苓雅區',
  238. '前鎮區', '旗津區', '小港區',
  239. ),
  240. '屏東縣' => array(
  241. '屏東市', '潮州鎮', '東港鎮', '恆春鎮', '萬丹鄉',
  242. '長治鄉', '麟洛鄉', '九如鄉', '里港鄉', '鹽埔鄉',
  243. '高樹鄉', '萬巒鄉', '內埔鄉', '竹田鄉', '新埤鄉',
  244. '枋寮鄉', '新園鄉', '崁頂鄉', '林邊鄉', '南州鄉',
  245. '佳冬鄉', '琉球鄉', '車城鄉', '滿州鄉', '枋山鄉',
  246. '三地門鄉', '霧臺鄉', '瑪家鄉', '泰武鄉', '來義鄉',
  247. '春日鄉', '獅子鄉', '牡丹鄉',
  248. ),
  249. '臺東縣' => array(
  250. '臺東市', '成功鎮', '關山鎮', '卑南鄉', '鹿野鄉',
  251. '池上鄉', '東河鄉', '長濱鄉', '太麻里鄉', '大武鄉',
  252. '綠島鄉', '海端鄉', '延平鄉', '金峰鄉', '達仁鄉',
  253. '蘭嶼鄉',
  254. ),
  255. '花蓮縣' => array(
  256. '花蓮市', '鳳林鎮', '玉里鎮', '新城鄉', '吉安鄉',
  257. '壽豐鄉', '光復鄉', '豐濱鄉', '瑞穗鄉', '富里鄉',
  258. '秀林鄉', '萬榮鄉', '卓溪鄉',
  259. ),
  260. '澎湖縣' => array(
  261. '馬公市', '湖西鄉', '白沙鄉', '西嶼鄉', '望安鄉',
  262. '七美鄉',
  263. ),
  264. '基隆市' => array(
  265. '中正區', '七堵區', '暖暖區', '仁愛區', '中山區',
  266. '安樂區', '信義區',
  267. ),
  268. '新竹市' => array(
  269. '東區', '北區', '香山區',
  270. ),
  271. '嘉義市' => array(
  272. '東區', '西區',
  273. ),
  274. '臺北市' => array(
  275. '松山區', '信義區', '大安區', '中山區', '中正區',
  276. '大同區', '萬華區', '文山區', '南港區', '內湖區',
  277. '士林區', '北投區',
  278. ),
  279. '連江縣' => array(
  280. '南竿鄉', '北竿鄉', '莒光鄉', '東引鄉',
  281. ),
  282. '金門縣' => array(
  283. '金城鎮', '金沙鎮', '金湖鎮', '金寧鄉', '烈嶼鄉', '烏坵鄉',
  284. ),
  285. );
  286. /**
  287. * @link http://terms.naer.edu.tw/download/287/
  288. */
  289. protected static $country = array(
  290. '不丹', '中非', '丹麥', '伊朗', '冰島', '剛果',
  291. '加彭', '北韓', '南非', '卡達', '印尼', '印度',
  292. '古巴', '哥德', '埃及', '多哥', '寮國', '尼日',
  293. '巴曼', '巴林', '巴紐', '巴西', '希臘', '帛琉',
  294. '德國', '挪威', '捷克', '教廷', '斐濟', '日本',
  295. '智利', '東加', '查德', '汶萊', '法國', '波蘭',
  296. '波赫', '泰國', '海地', '瑞典', '瑞士', '祕魯',
  297. '秘魯', '約旦', '紐埃', '緬甸', '美國', '聖尼',
  298. '聖普', '肯亞', '芬蘭', '英國', '荷蘭', '葉門',
  299. '蘇丹', '諾魯', '貝南', '越南', '迦彭',
  300. '迦納', '阿曼', '阿聯', '韓國', '馬利',
  301. '以色列', '以色利', '伊拉克', '俄羅斯',
  302. '利比亞', '加拿大', '匈牙利', '南極洲',
  303. '南蘇丹', '厄瓜多', '吉布地', '吐瓦魯',
  304. '哈撒克', '哈薩克', '喀麥隆', '喬治亞',
  305. '土庫曼', '土耳其', '塔吉克', '塞席爾',
  306. '墨西哥', '大西洋', '奧地利', '孟加拉',
  307. '安哥拉', '安地卡', '安道爾', '尚比亞',
  308. '尼伯爾', '尼泊爾', '巴哈馬', '巴拉圭',
  309. '巴拿馬', '巴貝多', '幾內亞', '愛爾蘭',
  310. '所在國', '摩洛哥', '摩納哥', '敍利亞',
  311. '敘利亞', '新加坡', '東帝汶', '柬埔寨',
  312. '比利時', '波扎那', '波札那', '烏克蘭',
  313. '烏干達', '烏拉圭', '牙買加', '獅子山',
  314. '甘比亞', '盧安達', '盧森堡', '科威特',
  315. '科索夫', '科索沃', '立陶宛', '紐西蘭',
  316. '維德角', '義大利', '聖文森', '艾塞亞',
  317. '菲律賓', '萬那杜', '葡萄牙', '蒲隆地',
  318. '蓋亞納', '薩摩亞', '蘇利南', '西班牙',
  319. '貝里斯', '賴索托', '辛巴威', '阿富汗',
  320. '阿根廷', '馬其頓', '馬拉威', '馬爾他',
  321. '黎巴嫩', '亞塞拜然', '亞美尼亞', '保加利亞',
  322. '南斯拉夫', '厄利垂亞', '史瓦濟蘭', '吉爾吉斯',
  323. '吉里巴斯', '哥倫比亞', '坦尚尼亞', '塞內加爾',
  324. '塞内加爾', '塞爾維亞', '多明尼加', '多米尼克',
  325. '奈及利亞', '委內瑞拉', '宏都拉斯', '尼加拉瓜',
  326. '巴基斯坦', '庫克群島', '愛沙尼亞', '拉脫維亞',
  327. '摩爾多瓦', '摩里西斯', '斯洛伐克', '斯里蘭卡',
  328. '格瑞那達', '模里西斯', '波多黎各', '澳大利亞',
  329. '烏茲別克', '玻利維亞', '瓜地馬拉', '白俄羅斯',
  330. '突尼西亞', '納米比亞', '索馬利亞', '索馬尼亞',
  331. '羅馬尼亞', '聖露西亞', '聖馬利諾', '莫三比克',
  332. '莫三鼻克', '葛摩聯盟', '薩爾瓦多', '衣索比亞',
  333. '西薩摩亞', '象牙海岸', '賴比瑞亞', '賽普勒斯',
  334. '馬來西亞', '馬爾地夫', '克羅埃西亞',
  335. '列支敦斯登', '哥斯大黎加', '布吉納法索',
  336. '布吉那法索', '幾內亞比索', '幾內亞比紹',
  337. '斯洛維尼亞', '索羅門群島', '茅利塔尼亞',
  338. '蒙特內哥羅', '赤道幾內亞', '阿爾及利亞',
  339. '阿爾及尼亞', '阿爾巴尼亞', '馬紹爾群島',
  340. '馬達加斯加', '密克羅尼西亞', '沙烏地阿拉伯',
  341. '千里達及托巴哥',
  342. );
  343. protected static $postcode = array('###-##', '###');
  344. public function street()
  345. {
  346. return static::randomElement(static::$street);
  347. }
  348. public static function randomChineseNumber()
  349. {
  350. $digits = array(
  351. '', '一', '二', '三', '四', '五', '六', '七', '八', '九',
  352. );
  353. return $digits[static::randomDigitNotNull()];
  354. }
  355. public static function randomNumber2()
  356. {
  357. return static::randomNumber(2) + 1;
  358. }
  359. public static function randomNumber3()
  360. {
  361. return static::randomNumber(3) + 1;
  362. }
  363. public static function localLatitude()
  364. {
  365. return number_format(mt_rand(22000000, 25000000)/1000000, 6);
  366. }
  367. public static function localLongitude()
  368. {
  369. return number_format(mt_rand(120000000, 122000000)/1000000, 6);
  370. }
  371. public function city()
  372. {
  373. $county = static::randomElement(array_keys(static::$city));
  374. $city = static::randomElement(static::$city[$county]);
  375. return $county.$city;
  376. }
  377. public function state()
  378. {
  379. return '臺灣省';
  380. }
  381. public static function stateAbbr()
  382. {
  383. return '臺';
  384. }
  385. public static function cityPrefix()
  386. {
  387. return '';
  388. }
  389. public static function citySuffix()
  390. {
  391. return '';
  392. }
  393. public static function secondaryAddress()
  394. {
  395. return (static::randomNumber(2)+1).static::randomElement(static::$secondaryAddressSuffix);
  396. }
  397. }