2011-07-21 12 views
0

現在、アドレスを100文字に制限し、何を構成する必要があるかについてのルールはありません。句読点、数字、文字;すべて歓迎です。物理的な商業/住宅の住所を検証する適切な方法は何ですか?

私は私のデータベース(準備文)にアドレスを保存する時にstrip_tagsを使用しています。それをページにエコーするときは$this->escape()(Zend Framework)を使います。

私は夢中にしたくないが、私はもう少し制限する必要があると思います。私は何が欠けていますか?

+3

そこにドライブして、存在するかどうかを確認します。 – alex

+0

'strip_tags()'をデータベースに挿入する前になぜですか?出力コンテキストに依存する特殊文字をエスケープするだけです。 – alex

+1

私は知らないが、あなたはアドレス入力 – Ben

答えて

2

米国の住所の場合は、住所を検索して標準化するために米国郵便サービスのAPIを使用する必要があります。

http://www.usps.com/webtools/

+0

+1を参照してください。必要な容量が少ない場合は、郵便番号検索で住所を手動で確認できます。 http://zip4.usps.com/zip4/welcome.jspしかし私の経験では、USPSは住所変更に地方政府より遅れています。それほど多くはないが、それはいくつかのアプリに違いをもたらす。 –

0

ダンの答えに構築するために、私はあなたのための最善の解決策は、アドレス検証サービスへの単純な要求を実行することであることを提出する、などSmartyStreets' LiveAddress(それは完全に無料だと公式USPSのデータを使用しています)。私は実際にSmartyStreetsのために働いているので、私はこれらの輪を何度も経験してきました。

私は、あなたの質問にコメントを読んで、それがアドレスの標準化の問題ではありませんが、...それは本当に終わりです。ユーザーは悪いデータを入力することがあります - それが目的ならばに記載されている通り、Catcallは正しいと言います。正しいものであることを確認してください。 CASS認定のベンダーがこのサービスを提供することができます。私は最も簡単で最も手頃な価格のものはLiveAddressだと思います。

はこれを行います何の正規表現はありません、とさえUSPSのAPIが権限であるにもかかわらず、その主要な欠点/制限があります(例えば、それは、そのデリバリーに明確常にではありません)。

あなたが任意の入力を検証

、偶数アドレスは、有効性のために、それはまた、彼らはあなたがあなたとの相互作用を気に知っているので、ユーザーの信頼を構築します。

関連する問題