93 votes

Comment procéder à la validation de l'adresse?

Est-il même possible d'effectuer l'adresse (physique, pas de e-mail de validation? Il semble que le grand nombre de formats d'adresse, même dans les seuls états-unis, en ferait un assez difficile tâche. D'autre part, il semble comme une tâche qui serait nécessaire pour plusieurs exigences de l'entreprise.

27voto

Tim Farley Points 5809

Voici un gratuit et une sorte de "en dehors de la boîte" façon de le faire. Pas parfait à 100%, mais il devrait rejeter ouvertement inexistante adresses.

Soumettre l'ensemble de l'adresse de Google geocoding de service web. Ce service tente de retourner les coordonnées exactes de l'emplacement que vous avez le nourrir, c'est à dire la latitude et la longitude.

Dans mon expérience, si l'adresse n'est pas valide, vous obtiendrez un résultat de 602 à partir du service. Il y a certainement une possibilité de faux positifs ou de faux négatifs, mais utilisé en conjonction avec d'autres contrôles de cohérence, il pourrait être utile.

(Yahoo géocodage d'un service web, d'autre part, sera de retour les coordonnées du centre de la ville si la ville existe, mais que le reste de l'adresse est bidon. Potentiellement utile aussi longtemps que vous payez une attention particulière à la "précision" dans la suite).

21voto

Jonathan Oliver Points 3774

Il y a un certain nombre de bonnes réponses ici, mais la plupart d'entre eux font l'hypothèse que l'utilisateur veut une "API" solution où ils doivent écrire du code pour se connecter à un 3e partie du service et/ou de l'écran gratter l'USPS. C'est bien beau, mais il devrait être pris en compte dans les besoins de l'entreprise et les coûts associés à la mise en œuvre et ensuite pesés contre les avantages escomptés.

Selon les besoins de l'entreprise et de la façon dont l'information est reçue par le système, en temps réel de l'adresse de la solution de traitement peut être le meilleur pari. Si une solution en temps réel est nécessaire, vous devrez considérer le contrat de licence et les limitations de la technique de la carte Google/Bing/Yahoo Api. Ils sont généralement de limiter le nombre d'appels que vous pouvez faire chaque jour. L'USPS outils web API est la même dans supplémentaires, ils limitent comment/pourquoi vous pouvez utiliser leur système et de la façon dont vous êtes autorisé à utiliser les données par la suite.

Dans le même temps, il y a une poignée de grands fournisseurs de services qui peuvent traiter facilement une liste statique des adresses. Essentiellement, vous donnez le fournisseur de services d'un fichier CSV ou un fichier Excel, ils nettoyer et obtenir de nouveau à vous. C'est un contrat unique avec aucun engagement à long terme ou d'une obligation, d'habitude.

La divulgation complète: je suis le fondateur de SmartyStreets. Nous faisons de vérification d'adresse pour les adresses aux États-unis. Il nous est facile de CASS certifier une liste et nous offrons également une vérification de l'adresse du service web API. Nous n'avons pas de frais cachés, des contrats, ou quoi que ce soit. Vous utilisez notre service jusqu'à ce que vous n'en avez plus besoin et vous pouvez à pied. (À la différence des entreprises de téléphonie cellulaire qui nécessitent un contrat.)

15voto

Mark Brackett Points 46824

USPS a une adresse nettoyant en ligne, quelqu'un qui a l'écran gratté dans un pauvre homme webservice. Cependant, si vous faites cela assez souvent, il serait préférable de l'appliquer pour un USPS compte et appeler leurs propres webservice.

10voto

user447951 Points 4806

10voto

BenAlabaster Points 20189

Je vous renvoie à mon blog après Une leçon de stockage des adresses, je vais dans quelques-unes des techniques et des algorithmes utilisés dans le processus de validation de l'adresse. La clé de ma pensée est "Ne pas être paresseux avec l'adresse de stockage, il vous fera rien, mais des maux de tête à l'avenir!"

Il ya aussi un autre StackOverflow question que me pose cette question. Intitulée Comment doit géographique internationale les adresses sont stockées dans une base de données relationnelle.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X