*

簡単便利!Perlで住所チェックの巻

公開日: : 最終更新日:2013/03/06 WEB

screen20310305

必要に迫られて、住所チェックのモジュールを探したものの、なかったので、作ってしまいましたよ
「区」の扱いが厄介だった以外は簡単なのでした

なんか正規表現ですんなり出来そうだけど、まあ、動いたので、これで良しw

ソースは、こちら

use strict;
use warnings;
use utf8;
binmode STDOUT, ":encoding(sjis)";#OSにより変更

#政令指定都市
my $seirei='横浜|名古屋|京都|大阪|神戸|北九州|札幌|川崎|福岡|広島|仙台|千葉|さいたま|静岡|堺|新潟|浜松|岡山|相模原|熊本';

#サンプル
my @sample =(
'東京都千代田区千代田1皇居',
'東京都千代田区千代田1皇居',
'東京都千代田区千代田1',
'東京都千代田区千代田皇居',
'東京都千代田区1皇居',
'東京都千代田1皇居',
'千代田区千代田1皇居',
'東京都八王子市八王子2',
'東京都八王子市2',
'東京都八王子2',
'八王子市八王子2',
'大阪府大阪市北区中ノ島1',
'大阪府大阪市北区中ノ島',
'大阪府大阪市北区1',
'大阪府大阪市中ノ島1',
'大阪府北区中ノ島1',
'大阪市北区中ノ島1',
'沖縄県沖縄市泉崎1',
'沖縄県沖縄市泉崎',
'沖縄県沖縄市1',
'沖縄県泉崎1',
'沖縄市泉崎1',
);

#サンプルテスト
foreach my $tmp(@sample){
	print &chkadr($tmp)."\n";
}

#
#住所チェック
#
sub chkadr{
	#引数代入
	my $add = $_[0];
	my $flag=0;

	#区が含まれる場合
	if($add =~/区/){
		if($add !~/(.+都.+区\D+|.+市.+区\D+)/){$flag=1;}
	}
	
	#都道府県市区町村構成チェック
	if($add !~/.+(都|道|府|県).+(市|区|町|村)\D+\d+/){$flag=2;}
	
	#政令指定都市チェック
	if($add =~/.+($seirei)市/){
			if($add !~/区/){$flag=3;}
	}
	if($flag==0){
		return "○:".$add;
	}else{
		return "×:".$add;
	}
}

結果は、こちら

○:東京都千代田区千代田1皇居
○:東京都千代田区千代田1皇居
○:東京都千代田区千代田1
×:東京都千代田区千代田皇居
×:東京都千代田区1皇居
×:東京都千代田1皇居
×:千代田区千代田1皇居
○:東京都八王子市八王子2
×:東京都八王子市2
×:東京都八王子2
×:八王子市八王子2
○:大阪府大阪市北区中ノ島1
×:大阪府大阪市北区中ノ島
×:大阪府大阪市北区1
×:大阪府大阪市中ノ島1
×:大阪府北区中ノ島1
×:大阪市北区中ノ島1
○:沖縄県沖縄市泉崎1
×:沖縄県沖縄市泉崎
×:沖縄県沖縄市1
×:沖縄県泉崎1
×:沖縄市泉崎1

【出来ること】
・チェック内容は都道府県→市区町村→字→番地の順でチェック
・番地チェックあり
・政令指定都市の区チェックあり
・アパート名が付いていてもOK
・番地の半角、全角にも対応
・郡が抜けていてもOK

実家が「元」郡なので、静岡県舞阪町など郡を抜かした書き方を知っており、それにも対応できるのが実用的なのでしたw

簡単、かんたん

PC

関連記事

少し便利に!アマゾン、楽天で同時検索するブックマークレットの選択したテキストをクリップボードにコピーするように修正したの巻

はじめに 先日、作成した「選択した商品のテキストをアマゾン、楽天で同時検索するブックマークレッ

記事を読む

カレンダーで記事ポストの予定が立てれて便利! WordPress Editorial Calendar

WORDPREEの管理画面から、記事投稿の予定がカレンダーで見れて便利です 記事を一日

記事を読む

修正簡単!ウェブマスターツールのタイトルタグの重複や 重複するメタデータを改善

ウェブマスターツールのタイトルタグの重複や 重複するメタデータが改善されないなあ、と思ってい

記事を読む

アマゾンのアソシエートタグが消えるのが直った! WordPress 3.5.1

WordPressのバージョンアップでHTMLタグが消えるのが直りました WordPr

記事を読む

アクセス急落したけど、復帰したの巻

実は先週、アクセスが1週間ほど、急落していました 原因は不明 Googleのパンダ、ペン

記事を読む

Yahoo JapanディベロッパーネットワークのアプリケーションIDを簡単に取得してみる

プロジェクトJでYahoo JapanのディベロッパーネットワークのアプリケーションIDを取る必要が

記事を読む

繰り返し表示を大量生産! WordPressで差込表示するの巻

WordPressの記事で特定のシリーズなどで同じ文章を繰り返し表示したいときってありますよね

記事を読む

WordPressの子テーマを作る巻

WORDPRESSの子テーマを作ります 子テーマを作る理由 WORDPRESSのバー

記事を読む

アクセス低迷中! 重複するメタデータやタイトルタグの重複の改善なし

アクセス低迷中w 先日から報告しているウェブマスターツールの重複するメタデータ

記事を読む

WordPressのテーブル作表はこのプラグイン! Editor Extender

WordPressでテーブルの表作りが簡単になります ちょっとした表を作りたくて、テー

記事を読む

PC

PC

PAGE TOP ↑