簡単便利!Perlで住所チェックの巻
公開日:
:
最終更新日:2013/03/06
WEB
必要に迫られて、住所チェックのモジュールを探したものの、なかったので、作ってしまいましたよ
「区」の扱いが厄介だった以外は簡単なのでした
なんか正規表現ですんなり出来そうだけど、まあ、動いたので、これで良しw
ソースは、こちら
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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | 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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ○:東京都千代田区千代田1皇居 ○:東京都千代田区千代田1皇居 ○:東京都千代田区千代田1 ×:東京都千代田区千代田皇居 ×:東京都千代田区1皇居 ×:東京都千代田1皇居 ×:千代田区千代田1皇居 ○:東京都八王子市八王子2 ×:東京都八王子市2 ×:東京都八王子2 ×:八王子市八王子2 ○:大阪府大阪市北区中ノ島1 ×:大阪府大阪市北区中ノ島 ×:大阪府大阪市北区1 ×:大阪府大阪市中ノ島1 ×:大阪府北区中ノ島1 ×:大阪市北区中ノ島1 ○:沖縄県沖縄市泉崎1 ×:沖縄県沖縄市泉崎 ×:沖縄県沖縄市1 ×:沖縄県泉崎1 ×:沖縄市泉崎1 |
【出来ること】
・チェック内容は都道府県→市区町村→字→番地の順でチェック
・番地チェックあり
・政令指定都市の区チェックあり
・アパート名が付いていてもOK
・番地の半角、全角にも対応
・郡が抜けていてもOK
実家が「元」郡なので、静岡県舞阪町など郡を抜かした書き方を知っており、それにも対応できるのが実用的なのでしたw
簡単、かんたん
PC
関連記事
-
-
簡単!WPのパンくずリストのプラグインBreadcrumb NavXTをインストールしてみたの巻
一言 インストールは簡単で、表記には、ちょっとしたコツが必要でした はじめに パンくず
-
-
改善の見込みなし! アクセス数降下中
昨日は持ち直したものの、今日もアクセス降下中 135→86→42→35→53→22 22時
-
-
ブックマークレット 食べログの店名TEL住所営業時間定休日駐車場を表示
ブックマークレットを作ってみました 食べログから店名、住所、営業時間を抽出するものです
-
-
早っ!重複するメタデータ(descriptions)の問題を解消!
昨日、発見した重複するメタデータ(descriptions)の問題 対策して、一日経って見
-
-
Perlのppmでインストールできない時にローカルファイルでインストールの巻
会社の社内LANでPerlのppmが上手くインストールできなかったので備忘録メモ PR
-
-
WordPress popular postsの表示を変更する巻
Wordpress popular postsの表示を変更しました Wordpress pop
-
-
WordPressのテーブル作表はこのプラグイン! Editor Extender
WordPressでテーブルの表作りが簡単になります ちょっとした表を作りたくて、テー
-
-
Yahoo JapanディベロッパーネットワークのアプリケーションIDを簡単に取得してみる
プロジェクトJでYahoo JapanのディベロッパーネットワークのアプリケーションIDを取る必要が
-
-
簡単便利! 選択した商品のテキストをアマゾン、楽天で同時検索するブックマークレットを作ったの巻
はじめに ブログを運営してると、その上達方法の中に記事を量産する話がでます 1日5本の記
-
-
12月だ! 大掃除の季節! WordPressのHeader内を掃除をしてみるの巻
12月です 大掃除の季節です WordpressのHeader内の余分なタグを削除してみ