우편번호 서비스 php DB없이 daum zipcode로 구현하기
우편번호 서비스
<input type=”text” name=”zipcode” id=”zipcode” placeholder=”우편번호” value=”<?=$myuser->zipcode?>” maxlength=”3″ size=”5″ readonly oncontextmenu=”return false” onselectstart=”return false” ondragstart=”return false”>
<input type=”button” onclick=”sample6_execDaumPostcode()” value=”우편번호 찾기”><br>
<script src=”http://dmaps.daum.net/map_js_init/postcode.v2.js”></script>
<script>
function sample6_execDaumPostcode() {
new daum.Postcode({
oncomplete: function(data) {
// 팝업에서 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분.
// 각 주소의 노출 규칙에 따라 주소를 조합한다.
// 내려오는 변수가 값이 없는 경우엔 공백(”)값을 가지므로, 이를 참고하여 분기 한다.
var fullAddr = ”; // 최종 주소 변수
var extraAddr = ”; // 조합형 주소 변수
// 사용자가 선택한 주소 타입에 따라 해당 주소 값을 가져온다.
if (data.userSelectedType === ‘R’) { // 사용자가 도로명 주소를 선택했을 경우
fullAddr = data.roadAddress;
} else { // 사용자가 지번 주소를 선택했을 경우(J)
fullAddr = data.jibunAddress;
}
// 사용자가 선택한 주소가 도로명 타입일때 조합한다.
if(data.userSelectedType === ‘R’){
//법정동명이 있을 경우 추가한다.
if(data.bname !== ”){
extraAddr += data.bname;
}
// 건물명이 있을 경우 추가한다.
if(data.buildingName !== ”){
extraAddr += (extraAddr !== ” ? ‘, ‘ + data.buildingName : data.buildingName);
}
// 조합형주소의 유무에 따라 양쪽에 괄호를 추가하여 최종 주소를 만든다.
fullAddr += (extraAddr !== ” ? ‘ (‘+ extraAddr +’)’ : ”);
}
// 우편번호와 주소 정보를 해당 필드에 넣는다.
document.getElementById(‘zipcode’).value = data.zonecode; //5자리 새우편번호 사용
document.getElementById(‘hanaddr’).value = fullAddr;
document.getElementById(‘engaddr’).value = data.addressEnglish;
// 커서를 상세주소 필드로 이동한다.
document.getElementById(‘hanaddr2’).focus();
}
}).open();
}
</script>
<input type=”text” name=”hanaddr” placeholder=”주소” id=”hanaddr” size=”50″ maxlength=”59″ value=”<?=$myuser->hanaddr?>”>
<input name=”hanaddr2″ type=”text” placeholder=”상세주소” id=”hanaddr2″ value=”<?=$myuser->hanaddr2?>” size=”50″ maxlength=”59″>
<input type=”text” name=”engaddr” id=”engaddr” placeholder=”영문주소” size=”50″ maxlength=”90″ value=”<?=$myuser->engaddr?>”>
<input name=”engaddr2″ type=”text” id=”engaddr2″ placeholder=”영문 상세주소” value=”<?=$myuser->engaddr2?>” size=”50″ maxlength=”90″>
주소검색을 굳이 자체db로 구축할 필요가 없이
다음에서 제공하는 API zipcode로 구현하면 된다.
출처 : http://postcode.map.daum.net/guide
작성일자 : 2017.09.30
