郵便番号から都道府県を判定

2017年3月24日

郵便番号の上2桁で都道府県が分かるので、そういう関数を作成しました。

  1. 郵便番号の付定方法 - Wikipedia
  2. 日本の郵便番号 - Wikipedia

番号の振り分け

郵便番号の上2桁と都道府県
都道府県 番号
北海道00・04-09
青森県03
岩手県02
宮城県98
秋田県01
山形県99
福島県96・97
茨城県30・31
栃木県32
群馬県37
埼玉県33-36
千葉県26-29
東京都10-20
神奈川県21-25
新潟県94・95
富山県93
石川県92
福井県91
山梨県40
長野県38・39
岐阜県50
静岡県41-43
愛知県44-49
三重県51
滋賀県52
京都府60-62
大阪府53-59
兵庫県65-67
奈良県63
和歌山県64
鳥取県68
島根県69
岡山県70・71
広島県72・73
山口県74・75
徳島県77
香川県76
愛媛県79
高知県78
福岡県80-83
佐賀県84
長崎県85
熊本県86
大分県87
宮崎県88
鹿児島県89
沖縄県90

function getPrefCode($zip) {
	$pref = "";
	if (preg_match('/^(00|0[4-9])/', $zip)) {
		$pref = 1;// 北海道
	}
	elseif (preg_match('/^03/', $zip)) {
		$pref = 2;// 青森県
	}
	elseif (preg_match('/^02/', $zip)) {
		$pref = 3;// 岩手県
	}
	elseif (preg_match('/^98/', $zip)) {
		$pref = 4;// 宮城県
	}
	elseif (preg_match('/^01/', $zip)) {
		$pref = 5;// 秋田県
	}
	elseif (preg_match('/^99/', $zip)) {
		$pref = 6;// 山形県
	}
	elseif (preg_match('/^9[6-7]/', $zip)) {
		$pref = 7;// 福島県
	}
	elseif (preg_match('/^3[0-1]/', $zip)) {
		$pref = 8;// 茨城県
	}
	elseif (preg_match('/^32/', $zip)) {
		$pref = 9;// 栃木県
	}
	elseif (preg_match('/^37/', $zip)) {
		$pref = 10;// 群馬県
	}
	elseif (preg_match('/^3[3-6]/', $zip)) {
		$pref = 11;// 埼玉県
	}
	elseif (preg_match('/^2[6-9]/', $zip)) {
		$pref = 12;// 千葉県
	}
	elseif (preg_match('/^(1[0-9]|20)/', $zip)) {
		$pref = 13;// 東京都
	}
	elseif (preg_match('/^2[1-5]/', $zip)) {
		$pref = 14;// 神奈川県
	}
	elseif (preg_match('/^9[4-5]/', $zip)) {
		$pref = 15;// 新潟県
	}
	elseif (preg_match('/^93/', $zip)) {
		$pref = 16;// 富山県
	}
	elseif (preg_match('/^92/', $zip)) {
		$pref = 17;// 石川県
	}
	elseif (preg_match('/^91/', $zip)) {
		$pref = 18;// 福井県
	}
	elseif (preg_match('/^40/', $zip)) {
		$pref = 19;// 山梨県
	}
	elseif (preg_match('/^3[8-9]/', $zip)) {
		$pref = 20;// 長野県
	}
	elseif (preg_match('/^50/', $zip)) {
		$pref = 21;// 岐阜県
	}
	elseif (preg_match('/^4[1-3]/', $zip)) {
		$pref = 22;// 静岡県
	}
	elseif (preg_match('/^4[4-9]/', $zip)) {
		$pref = 23;// 愛知県
	}
	elseif (preg_match('/^51/', $zip)) {
		$pref = 24;// 三重県
	}
	elseif (preg_match('/^52/', $zip)) {
		$pref = 25;// 滋賀県
	}
	elseif (preg_match('/^6[0-2]/', $zip)) {
		$pref = 26;// 京都府
	}
	elseif (preg_match('/^5[3-9]/', $zip)) {
		$pref = 27;// 大阪府
	}
	elseif (preg_match('/^6[5-7]/', $zip)) {
		$pref = 28;// 兵庫県
	}
	elseif (preg_match('/^63/', $zip)) {
		$pref = 29;// 奈良県
	}
	elseif (preg_match('/^64/', $zip)) {
		$pref = 30;// 和歌山県
	}
	elseif (preg_match('/^68/', $zip)) {
		$pref = 31;// 鳥取県
	}
	elseif (preg_match('/^69/', $zip)) {
		$pref = 32;// 島根県
	}
	elseif (preg_match('/^7[0-1]/', $zip)) {
		$pref = 33;// 岡山県
	}
	elseif (preg_match('/^7[2-3]/', $zip)) {
		$pref = 34;// 広島県
	}
	elseif (preg_match('/^7[4-5]/', $zip)) {
		$pref = 35;// 山口県
	}
	elseif (preg_match('/^77/', $zip)) {
		$pref = 36;// 徳島県
	}
	elseif (preg_match('/^76/', $zip)) {
		$pref = 37;// 香川県
	}
	elseif (preg_match('/^79/', $zip)) {
		$pref = 38;// 愛媛県
	}
	elseif (preg_match('/^78/', $zip)) {
		$pref = 39;// 高知県
	}
	elseif (preg_match('/^8[0-3]/', $zip)) {
		$pref = 40;// 福岡県
	}
	elseif (preg_match('/^84/', $zip)) {
		$pref = 41;// 佐賀県
	}
	elseif (preg_match('/^85/', $zip)) {
		$pref = 42;// 長崎県
	}
	elseif (preg_match('/^86/', $zip)) {
		$pref = 43;// 熊本県
	}
	elseif (preg_match('/^87/', $zip)) {
		$pref = 44;// 大分県
	}
	elseif (preg_match('/^88/', $zip)) {
		$pref = 45;// 宮崎県
	}
	elseif (preg_match('/^89/', $zip)) {
		$pref = 46;// 鹿児島県
	}
	elseif (preg_match('/^90/', $zip)) {
		$pref = 47;// 沖縄県
	}
	return $pref;
}

ついでに都道府県の配列。

$pref_arr = array(
		1 =>  '北海道',
		2 =>  '青森県',
		3 =>  '岩手県',
		4 =>  '宮城県',
		5 =>  '秋田県',
		6 =>  '山形県',
		7 =>  '福島県',
		8 =>  '茨城県',
		9 =>  '栃木県',
		10 => '群馬県',
		11 => '埼玉県',
		12 => '千葉県',
		13 => '東京都',
		14 => '神奈川県',
		15 => '新潟県',
		16 => '富山県',
		17 => '石川県',
		18 => '福井県',
		19 => '山梨県',
		20 => '長野県',
		21 => '岐阜県',
		22 => '静岡県',
		23 => '愛知県',
		24 => '三重県',
		25 => '滋賀県',
		26 => '京都府',
		27 => '大阪府',
		28 => '兵庫県',
		29 => '奈良県',
		30 => '和歌山県',
		31 => '鳥取県',
		32 => '島根県',
		33 => '岡山県',
		34 => '広島県',
		35 => '山口県',
		36 => '徳島県',
		37 => '香川県',
		38 => '愛媛県',
		39 => '高知県',
		40 => '福岡県',
		41 => '佐賀県',
		42 => '長崎県',
		43 => '熊本県',
		44 => '大分県',
		45 => '宮崎県',
		46 => '鹿児島県',
		47 => '沖縄県'
);