アプリに登録するユーザーの住所検証を設計する予定です。おそらく郵便番号と州によって検証されます。
世界中のアドレスを処理する方法はありますか?
データベースにすべての郵便番号を挿入してから、住所を検証する必要がありますか? 実装のための可能な提案はありますか?
ありがとう、ようこそ :) クリスプ
アプリに登録するユーザーの住所検証を設計する予定です。おそらく郵便番号と州によって検証されます。
世界中のアドレスを処理する方法はありますか?
データベースにすべての郵便番号を挿入してから、住所を検証する必要がありますか? 実装のための可能な提案はありますか?
ありがとう、ようこそ :) クリスプ
郵便番号の国際標準は存在せず、世界中のすべての郵便番号のリストは、それをまとめる前には古くなっているため、より小規模なアプローチをお勧めします。
最も処理しなければならない国を特定し、それらの国ごとに個別の検証ルールを作成します。これにより、大多数のユーザー (95% または 98% など) を確実に処理できます。他のすべての国については、それ以上の検証なしで入力したものを受け入れるだけです.
世界には非常に多くの異なるアドレス形式が存在するため、それらすべてを処理するのは (可能な場合でも) 努力する価値はありません。
これを行う「標準的な」方法がないように、住所と郵便番号の形式には大きな違いがあります。「Frank's Compulsive Guide to Postal Addresses」を参照してください...
どの程度/どのような検証が本当に必要ですか? たとえば、ユーザーが配送先住所を入力する場合、地元の郵便/配送業者が必要とする特定の形式を知っている可能性が高くなります。複数行のテキストエリアを入力するだけです。送料を計算するためにその一部が必要な場合は、必要な情報だけをリクエストしてください (都市/国など)。
郵便番号は実際には頭痛の種になる可能性があります。なぜなら、郵便番号が比較的広い地域を表すことが多い米国とは対照的に、非常に小さな地域を表す場合があるからです (大都市では数ブロックを表すことがあります)。
カナダを見てください。カナダの郵便番号は、実際には非常に小さな地域を表すことができます。通りの反対側にある 2 つの店舗では、カナダの郵便番号が異なることがよくあります。また、カナダの企業のリストでは、リストをマージするときに、郵便番号がわずかに異なる同じ住所が表示されることも珍しくありません。これは、多くの人が誤解していることを示しています。顧客ベースでは、彼らが実際に正確な郵便番号を正しく取得することがどれほど現実的かはわかりません.
http://www.columbia.edu/kermit/postal-ca.html
基本的に、それぞれのアパートや会社の住居には独自の郵便番号が割り当てられているようです。これは、私がカナダの会社の住所で見たものに基づいて理解できます。
もう1つのポイントは、これはカナダだけだということです。ヨーロッパの各国には独自の住所/郵便番号があり、オーストラリア、ロシアなども同様です...本当に住所確認を行いたい場合、これは主要なプロジェクトです.
実際に住所を確認するには、郵便番号、都市、番地を確認する必要があります。米国では、国勢調査が TIGER データベース ファイルを公開しており、多くの場合、通りのリストが含まれています。しかし、他の国では、どのようにして通りのリストを取得できるかわかりません。商用パッケージを調べるのが最善かもしれません (GIS パッケージの 1 つかもしれませんが、それらの多くは米国/カナダ、および時にはいくつかのヨーロッパ諸国の詳細な住所しか提供していません)。
完全な住所検証は、既に開発されたアプリケーションに正確に配置することはできませんが、郵便番号/郵便番号の検証は国の名前に従って行うことができます.
ソースxml-files sourceの ' supplementalData.xml ' xml ファイルの正規表現を確認してください。xml を解析することで、実行時に渡された国コードに対応する郵便番号の正規表現を見つけることができ、国と一致しているかどうかを確認できます。
多くのユーザーが以前に言及したように、国際的な住所を確認することは基本的に不可能です。これは、国をまたがる標準がなく、多くの国が郵便システムのリソースを持っていないためです. 技術的に言えば、米国でもUSPSは苦戦しています。
少なくとも、国ごとに住所確認を提供できます。多くのカバレッジを得る最も簡単な国の 1 つは、米国です。これを行うには、ある種のアドレス検証 Web サービスに接続する必要があります。このための Web サービスを提供している会社はいくつかあります。注意すべきことの 1 つは、各プロバイダーに API の地理的分散があることを確認して、プロバイダー側の停止が逆流してアプリケーションを強制終了しないようにすることです。さらに、結果が CASS 認定を受けていることを確認してください。
完全な開示のために、私は SmartyStreets の創設者です。LiveAddressというアドレス検証 Web サービス APIがあります。ご不明な点がございましたら、個人的にご連絡いただければ幸いです。
これに関する別の回答を見つけました:ウィキのリンクを参照してください: http://en.wikipedia.org/wiki/List_of_postal_codes .
ここでは、ほとんどの国のほとんどの郵便番号パターンを見つけることができます。正規表現を記述してデータベースに維持すると、郵便番号を簡単に検証したり、最適化されたアプローチを行うのに役立ちます!