*

簡単便利!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

関連記事

サイトのダウンが直ぐ判る!IS IT DOWN RIGHT NOW?

落ちているサイトを判別できるのは便利です 先日のこと、自分のサイトにアクセスで

記事を読む

人気記事が更新されないと思ったら、WordPress Popular Postsのリセットが必要だった

人気記事が更新されないなあ、と思っていたら、そのモジュールのリセットが必要でした 別ブ

記事を読む

POSTSのタイトルを一斉修正! WordPress Search Regexでタイトルを一括変換するの巻

WordPress Search Regexの修正は必要でしたが、一発で簡単にタイトルの修正

記事を読む

WordPressのテーマをtwentytenからtwentyelevenに変えたの巻

WordPressのテーマをtwentytenからtwentyelevenを変更するのは簡単

記事を読む

WordPress popular postsの表示を変更する巻

Wordpress popular postsの表示を変更しました Wordpress pop

記事を読む

WordPressのスマホ画面にGoogleAdsenseを表示するには

WPtouchというプラグインを使うとWordPressで簡単にスマホ画面にレイアウト崩れな

記事を読む

LinkWithInのYou might also likeを変える巻

LinkWithInのYou might also likeを変える方法 WordPressの

記事を読む

改善しないなあ、どうしたもんでしょ! アクセス数低下

いろいろ手を打っているのですが、アクセス数の低下に歯止めがかかりません う~ん

記事を読む

重複するメタデータとタイトルタグの重複が改善!だけどアクセス数は改善せず

やっと改善が始まりました 長かった ウェブマスターツールのHTML改善の値、やっと低

記事を読む

Googleウェブマスターツールから怒られない! サイトに含まれるWordPressのバージョンを消してみるの巻

Googleのウェブマスターツールは、いろいろな情報を提供してくれます そんな中にはサイト

記事を読む

PC

PC

PAGE TOP ↑