주소 유효성 검사를 어떻게 수행합니까? [닫은]


88

주소 (전자 메일이 아닌 물리적) 유효성 검사를 수행 할 수도 있습니까? 미국에서만 주소 형식이 너무 많아서 상당히 어려운 작업이 될 것 같습니다. 반면에 여러 비즈니스 요구 사항에 필요한 작업처럼 보입니다.


22
당신이 무엇을하든, 주소가 유효하지 않은 것 같다면, 사용자가 그것이 실제로 유효하다고 선택하게하세요. 검증 인이 유효하지 않다고 말했기 때문에 그것을 거부하지 마십시오.
Pim Jager

"주소 자동 완성"또는 "주소 확인"을 의미합니까? 제 말은 어떤 서비스도 현실 세계에서 일어나는 모든 변화를 알 수 없다는 뜻입니다. 매분 수백만 개의 새 주소가 나타나고 이전 주소는 철거됩니다. 그리고 저는 지금 지역적으로 행성의 범위에서 이야기하고 있습니다.
Yevgeniy Afanasyev

답변:


27

여기에 무료로 사용할 수있는 일종의 "상자 밖"방법이 있습니다. 100 % 완벽하지는 않지만 뻔뻔스럽게 존재하지 않는 주소는 거부해야합니다.

전체 주소를 Google의 지오 코딩 웹 서비스에 제출합니다 . 이 서비스는 입력 한 위치의 정확한 좌표, 즉 위도와 경도를 반환하려고 시도합니다.

내 경험상 주소가 유효하지 않으면 서비스에서 602의 결과를 얻을 수 있습니다. 오탐 또는 오탐의 가능성이 분명히 있지만 다른 일관성 검사와 함께 사용하면 유용 할 수 있습니다.

( 반면에 야후의 지오 코딩 웹 서비스 는 마을이 존재하지만 주소의 나머지 부분이 가짜 인 경우 마을 중심의 좌표를 반환합니다. 결과).


4
실제 시스템에서이 방법을 실제로 사용한 사람이 있습니까?
Aston

27
Google과 Yahoo의 TOS는 사용자에게 표시되는지도를 사용하는 경우를 제외하고 지오 코딩 서비스를 사용하는 것을 금지합니다. Jonathan Oliver가 제안한 것과 비슷한 것을 찾으십시오. 참조 : code.google.com/apis/maps/terms.html
Matt

1
잘못된 주소를 입력해도 602 개의 결과가 표시되지 않습니다.
HK1

9
이것은 정말로 선택된 대답이 아니어야합니다. Google의 TOS를 위반하며 실제로 주소를 확인하지 않습니다. Google은 정보가 약간 떨어져 있어도 원하는 주소를 "추측"하기 위해 많은 정보를 사용합니다. Google은 또한 55 Main St를 입력하고 Google이 50 Main St와 60 Main St가 있음을 알고있는 경우 지오 코드를 반환합니다. 55 Main St가 실제로는 그렇지 않더라도 거리를 평균 한 성공적인 지오 코드를 반환합니다. 있다. USPS 또는 Experian 또는 SmartyStreets와 같은 실제 유효성 검사 서비스를 사용해야합니다.
jacurtis 2017-06-15

1
이것은 끊임없이 변화하는 엄청난 데이터베이스의 비트와 조각을 저장함으로써 모두가 노드에 기여하는 멋진 블록 체인 애플리케이션을 만들 것입니다.
디코더 7283

20

여기에는 여러 가지 좋은 답변이 있지만 대부분은 사용자가 타사 서비스에 연결하기 위해 코드를 작성하거나 USPS를 화면 스크래핑해야하는 "API"솔루션을 원한다고 가정합니다. 이것은 모두 훌륭하고 좋지만 구현과 관련된 비즈니스 요구 사항 및 비용을 고려한 다음 원하는 이점과 비교하여 평가해야합니다.

비즈니스 요구 사항과 데이터가 시스템에 수신되는 방식에 따라 실시간 주소 처리 솔루션이 최선의 선택 일 수 있습니다. 실시간 솔루션이 필요한 경우 Google Maps / Bing / Yahoo API의 라이선스 계약 및 기술적 제한 사항을 고려하는 것이 좋습니다. 일반적으로 매일 걸 수있는 통화 수를 제한합니다. USPS 웹 도구 API는 시스템을 사용할 수있는 방법 / 이유 및 이후에 데이터를 사용할 수있는 방법을 제한한다는 점에서 동일합니다.

동시에 정적 주소 목록을 쉽게 처리 할 수있는 훌륭한 서비스 제공 업체가 많이 있습니다. 기본적으로 서비스 제공 업체에 CSV 파일 또는 Excel 파일을 제공하고이를 정리 한 다음 다시 가져옵니다. 일반적으로 장기적인 약속이나 의무가없는 일회성 거래입니다.

전체 공개 : 저는 SmartyStreets의 창립자입니다. 미국 내 주소에 대한 주소 확인을 수행합니다. CASS는 목록 을 쉽게 인증 할 수 있으며 주소 확인 웹 서비스 API 도 제공합니다 . 숨겨진 수수료, 계약 등이 없습니다. 더 이상 필요하지 않을 때까지 서비스를 사용하고 자리를 떠날 수 있습니다. (계약이 필요한 휴대폰 회사와는 다릅니다.)


1
완벽 해, 내가 찾던 바로 그것. 스타일이 있다고 말씀 드리겠습니다. 멋진 사이트입니다.
Cory Mawhorter 2013 년

2
우리는 SmartyStreets를 사용합니다.
JerSchneid

17
SmartyStreet의 1,000 회 조회 비용은 $ 30입니다. 클릭을 저장했습니다.
William Entriken

1,000 조회 = 국제 용 66 $
Robert Sinclair

실제로 USPS에는이를위한 REST 인터페이스가 있습니다. 그러나 이것은 거대하지만 ... 스크립트로이 일을하여 주소로 가득 찬 데이터베이스를 검증하면 그들은 당신 금지 할 것입니다. 사용자 데이터 항목의 유효성을 검사 할 수 있으므로 API 적중 시간이 무작위로 지정되는 웹 양식에서 사용하는 것이 좋습니다. 양식에 봇 보호 기능이 있는지 확인하십시오. 그렇지 않으면 API 액세스 DoS를 곧 얻을 수 있습니다. 또한 이것은 미국 주소에만 유용합니다.
Neil Davis

15

USPS는 온라인 주소 클리너를 가지고 있는데, 누군가가 가난한 사람의 웹 서비스로 화면을 긁어 냈습니다. 그러나이 작업을 충분히 자주 수행하는 경우 USPS 계정 을 신청 하고 자체 웹 서비스에 전화 하는 것이 더 좋습니다 .


17
그렇게해서 속쓰림을 피하고 3 일 후 거절 편지를받는 사람을 구하기 위해, 거의 아무도 USPS의 자체 주소 유효성 검사기를 사용할 수 없습니다. 그래서 남자 스크린이 처음에 그것을 긁어 냈습니다. 비영리 단체로 엄격하게 제한됩니다.
Nicholas Piasecki

5
USPS는이 데이터가 편지 나 소포를 우송하는 것 이외의 용도로 사용되는 것을 허용하지 않습니다. 즉, 조회하는 주소로 우편을 보내야합니다.

16
USPS는 데이터베이스를 재판매하거나 정리하지 않는 상업적 사용 IFF를 허용합니다. 우리는 계정에 대한 자격을 갖추고 웹 양식을 통해 들어오는 모든 주소를 확인 / 수정하는 데 사용합니다.
marklark

2
또는 특정 시점에 우편을 보내려고합니다. 우리 회사는 처음에 USPS API에 대한 액세스가 거부되었지만 의도 된 용도를 명확히하고 (이전 데이터를 수정하는 데 API를 사용하지 않을 것이라고 명시한 후) 승인을 받았습니다.
marklark

4
: 당신은 당신이 주소를 확인하는 경우에만 출하를 메일 링을 수행하거나 수행 할 USPS 'API를 사용할 수 있습니다 secure.shippingapis.com/registration을 - 당신이 USPS를 통해 우편물 또는 배를하지 않으면 다음 대안 API 것을 발견 라이센스 제한이 없습니다.
매트


8

독일 회사에서 사내 주소 확인 서비스를 개발하는 과정에서이 문제를 해결할 수있는 여러 가지 방법을 발견했습니다. 아래에서 찾은 결과를 요약하기 위해 최선을 다하겠습니다.

무료 오픈 소스 소프트웨어

분명히 누구나 취할 수있는 첫 번째 접근 방식은 오픈 소스 접근 방식 (예 : openstreetmap.org )이며 결코 나쁜 생각이 아닙니다. 그러나 이것을 훌륭하고 신뢰할 수있는 용도로 사용할 수 있는지 여부는 결과에 얼마나 의존해야하는지에 따라 크게 달라집니다.

주소는 엄청나게 가변적 인 것입니다. 미국 주소를 확인하는 것은 쉬운 일이 아니지만 견딜 만하지 만 광범위한 우편 번호 시스템을 사용하여 유럽, 특히 영국으로 이동하면 오픈 소스 접근 방식에는 데이터가 부족합니다.

웹 서비스 / API

엔터프라이즈 급 소프트웨어

돈은 분명히 해낼 수 있습니다. 그러나 모든 비즈니스 또는 개발자가 주소 조회 당 0.15 달러 (API 요청 1,000 건당 150 달러)를 지출 할 수있는 것은 아닙니다. 이는 대부분의 주소 유효성 검사 API가 구현 한 매우 비싼 비즈니스 모델입니다.

내가 통합 한 것 : streetlayer API

주소 데이터를 수동으로 확인하는 프로그래밍 방식의 접근 방식을 기꺼이 취하지 않았기 때문에 마침내 상사가 나를 해고하지 않고 여전히 견고하고 신뢰할 수있는 가격표가 포함 된 API가 필요하다는 결론에 도달했습니다. 국제 검증 결과.

간단히 말해서 저는 "streetlayer API"라고하는 apilayer가 구축 한 API를 통합했습니다. 저는 간단한 JSON 통합, 놀랍도록 정확한 유효성 검사 결과 및 개발자 친화적 인 가격으로 쉽게 확신했습니다. 또한 월 100 건의 요청은 완전히 무료입니다.

도움이 되었기를 바랍니다!


좋은 답변입니다. 안타깝게도 streetlayer API가 다음 주 (2017-07-03)에 종료됩니다. 요청 당 15 센트 미만의 대안이 있습니까?
Chris

1

나는 http://www.melissadata.com 의 서비스를 사용했습니다 . 그들의 "주소 객체"는 아주 잘 작동합니다. 예, 비쌉니다. 그러나 자체 솔루션을 작성하는 비용, 애플리케이션의 더티 데이터 비용, 반송 메일러 (판매 손실 등)를 고려하면 비용이 정당화 될 수 있습니다.


1

또한 서버 플랫폼에서 사용할 수있는 SAP의 데이터 품질 솔루션을 사용해 볼 수도 있습니다.이 솔루션은 많은 요청을 처리하거나 애플리케이션과 함께 프로세스에서 실행하려는 경우 포함 가능한 SDK로 사용할 수 있습니다. 우리는 응용 프로그램에서 사용하며 매우 견고하고 확장 가능합니다.


1

레딧에서 볼 수 있듯이 :

$address = urlencode('1600 Pennsylvania Avenue, Washington, DC');
$json = json_decode(file_get_contents("http://where.yahooapis.com/geocode?q=$address&flags=J"));
print_r($json);

1

https://identify.pitneybowes.com/ 에서 사용 가능한 Pitney Bowes“IdentifyAddress”API를 사용해 볼 수 있습니다.

이 서비스는 입력 주소를 전 세계의 알려진 주소 데이터베이스와 분석하고 비교하여 표준화 된 세부 정보를 출력합니다. 주소를 수정하고 누락 된 우편 정보를 추가하며 해당 우편 기관이 선호하는 형식을 사용하여 형식을 지정합니다. 또한 추가 주소 데이터베이스를 사용하여 주소 품질, 주소 유형, 음역 (예 : 중국어 한자에서 라틴 문자로) 및 주소가 건물 / 집 번호, 거리 또는 도시 수준으로 확인되는지 여부를 포함한 향상된 세부 정보를 제공 할 수 있습니다. 참조 정보.

사이트에서 사용 가능한 많은 샘플과 sdk를 찾을 수 있으며 통합하기가 매우 쉽습니다.



0

이 서비스를 제공하는 회사가 있습니다. 대량 우편물을 다루는 서비스국은 전체 우편물 목록을 적절한 형식으로 정리하여 우편 요금을 할인합니다. USPS는 맞춤형 솔루션을 개발하는 데 사용할 수있는 주소 정보 데이터베이스를 판매합니다. 또한 이러한 종류의 소프트웨어 및 서비스를 제공하는 승인 된 공급 업체 목록도 있습니다.

주소 유효성 검사를 소프트웨어에 연결하기위한 API가있는 일부 (많지는 않음) 패키지가 있습니다.

그러나 그게 꽤 불쾌한 문제라는 것은 맞습니다.

http://www.usps.com/ncsc/ziplookup/vendorslicensees.htm


0

언급했듯이 전체 주소의 유효성을 확인하려는 경우 웹 서비스 유형 서비스를 사용하여 애플리케이션에서 변경 사항을 빠르게 인식 할 수 있도록하는 것이 좋습니다.

위에 나열된 서비스 외에도 webservice.net에는이 미국 주소 유효성 검사 서비스가 있습니다. http://www.webservicex.net/WCF/ServiceDetails.aspx?SID=24


0

우리는 Perfect Address로 성공했습니다 .

그들의 데이터베이스에는 모든 미국 거리 이름과 거리 번호 범위가 있습니다. 또한 그러한 종류의 데이터를 가질만큼 운이 좋다면 자유 형식 주소 필드에 대한 꽤 괜찮은 파서 역할을합니다.


매우 흥미 롭습니다 ... 그들의 오래된 웹 사이트는 그들이 여전히 사업을하고 있는지 또는 신뢰할 수 있는지 궁금하게 만듭니다.
Anthony Griggs 19

우리가 그걸 사용한 회사에있는 지 오래되었습니다. 많이 변경된 것처럼 보이지는 않지만 여전히 최신 데이터가 있다고 주장합니다.
Jason DeFontes

0

유효한 주소인지 확인하는 것은 한 가지입니다.

그러나 주어진 사람이 주어진 주소에 살고 있는지 확인하려는 경우, 거의 보증 할 수있는 유일한 주소는 해당 주소에 대한 테스트 메일이며, 그 사람이 조직되어 있는지 또는 해당 주소의 누군가를 알고 있는지 확실하지 않습니다.

그렇지 않으면 사람들은 자신이 알고있는 임의의 임의의 주소를 지정할 수 있으며 그것은 당신에게 아무 의미가 없습니다.

즉각적인 결과를 위해 할 수있는 최선의 방법은 사용자에게 은행 명세서 또는 기타 최근 거주 증명서의 사진 / 스캔 사본을 보내달라고 요청하는 것입니다. 왜냐하면 적어도 잊어 버리려면 더 열심히 노력해야하기 때문입니다. Forging은 기본적인 수준의 이미지 포렌식 분석을 통해 상황이 쉽게 나타납니다.


0

글로벌 솔루션이 없습니다. 어떤 국가에서든 그것은 기껏해야 다소 까다 롭습니다.

영국에서 우체국은 우편 주소를 관리하고 확인 목적으로 주소 정보를 (유상으로) 제공 할 수 있습니다.

정부 기관은 또한 광범위한 주소 목록을 보관하고 있으며, 이들은 NLPG (National Land and Property Gazetteer)에서 중앙 집중적으로 대조됩니다.

실제로 이러한 목록에 대해 유효성을 검사하는 것은 매우 어렵습니다. 대부분의 사람들은 주소가 우체국에서 어떻게 보관되는지 정확히 알지 못합니다. 일부 기업은 특정 거리에있는 번호조차 알지 못합니다.

가장 좋은 방법은 이런 종류의 전문 회사에 접근하는 것입니다.


0

미국 기반 주소 데이터의 경우 회사에서 GeoStan 을 사용 했습니다 . C와 Java에 대한 바인딩이 있습니다 (그리고 Perl 바인딩을 만들었습니다). 상업용 제품이며 저렴하지 않습니다. 하지만 매우 빠르며 (초당 최대 300 개 주소) CASS 인증 (USPS 대량 메일 할인), DPV (배달 지점 확인) 플래그 지정 및 LON / LAT 지오 코딩과 같은 기능을 제공합니다.

Perl 모듈 Geo :: PostalAddress 가 있지만 휴리스틱을 사용하며 GeoStan에 대해 언급 된 다른 기능이 없습니다.

편집 : 일부는 '직접해라'고 언급했습니다. 그렇게하기로 결정했다면 주소 정보를 포함하여 미국에 대한 많은 정보가 포함 된 US Census Tiger 데이터 세트 에서 시작하기에 좋은 정보 소스입니다 .




0

Fixaddress.com 서비스는 다음과 같은 서비스를 제공합니다.

1) 주소 유효성 검사.

2) 주소 수정.

3) 주소 맞춤법 수정.

4) 음성 오류를 수정합니다.

Fixaddress.com은 USPS 및 Tiger 데이터를 참조 데이터로 사용합니다.

자세한 내용은 아래 링크를 방문하십시오.

http://www.fixaddress.com/


-1

미국 주소의 경우 유효한 주를 요구하고 zip이 유효한지 확인할 수 있습니다. 우편 번호가 올바른 상태인지 확인할 수도 있지만 그 이상으로 많은 오탐을 제공하지 않는 테스트를 실행할 수 있다고 생각하지 않습니다.

당신은 무엇을하려고하십니까-단순한 실수를 방지하거나 일종의 신원 확인을 시행하고 있습니까?


타사 유료 서비스를 사용해야합니다.
mmcdole

타사 도구를 사용할 필요가 없습니다. USPS에는이를 수행하는 웹 서비스가 있습니다.
brian d foy

실제로 수행중인 작업이 "이 주소가 지역 우편 서비스에 허용되는지 확인"인 경우 미국에서 USPS는 두 번째 당사자 로 간주 될 수 있습니다 (하지만 주소를 제출 한 클라이언트는 제 3 자).
tripleee
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.