現在、アドレスを100文字に制限し、何を構成する必要があるかについてのルールはありません。句読点、数字、文字;すべて歓迎です。物理的な商業/住宅の住所を検証する適切な方法は何ですか?
私は私のデータベース(準備文)にアドレスを保存する時にstrip_tags
を使用しています。それをページにエコーするときは$this->escape()
(Zend Framework)を使います。
私は夢中にしたくないが、私はもう少し制限する必要があると思います。私は何が欠けていますか?
現在、アドレスを100文字に制限し、何を構成する必要があるかについてのルールはありません。句読点、数字、文字;すべて歓迎です。物理的な商業/住宅の住所を検証する適切な方法は何ですか?
私は私のデータベース(準備文)にアドレスを保存する時にstrip_tags
を使用しています。それをページにエコーするときは$this->escape()
(Zend Framework)を使います。
私は夢中にしたくないが、私はもう少し制限する必要があると思います。私は何が欠けていますか?
米国の住所の場合は、住所を検索して標準化するために米国郵便サービスのAPIを使用する必要があります。
+1を参照してください。必要な容量が少ない場合は、郵便番号検索で住所を手動で確認できます。 http://zip4.usps.com/zip4/welcome.jspしかし私の経験では、USPSは住所変更に地方政府より遅れています。それほど多くはないが、それはいくつかのアプリに違いをもたらす。 –
ダンの答えに構築するために、私はあなたのための最善の解決策は、アドレス検証サービスへの単純な要求を実行することであることを提出する、などSmartyStreets' LiveAddress(それは完全に無料だと公式USPSのデータを使用しています)。私は実際にSmartyStreetsのために働いているので、私はこれらの輪を何度も経験してきました。
私は、あなたの質問にコメントを読んで、それがアドレスの標準化の問題ではありませんが、...それは本当に終わりです。ユーザーは悪いデータを入力することがあります - それが目的ならばはに記載されている通り、Catcallは正しいと言います。正しいものであることを確認してください。 CASS認定のベンダーがこのサービスを提供することができます。私は最も簡単で最も手頃な価格のものはLiveAddressだと思います。
はこれを行います何の正規表現はありません、とさえUSPSのAPIが権限であるにもかかわらず、その主要な欠点/制限があります(例えば、それは、そのデリバリーに明確常にではありません)。
あなたが任意の入力を検証
、偶数アドレスは、有効性のために、それはまた、彼らはあなたがあなたとの相互作用を気に知っているので、ユーザーの信頼を構築します。
そこにドライブして、存在するかどうかを確認します。 – alex
'strip_tags()'をデータベースに挿入する前になぜですか?出力コンテキストに依存する特殊文字をエスケープするだけです。 – alex
私は知らないが、あなたはアドレス入力 – Ben