반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

비전공개미 개발노트

HTML/JavaScript - 숫자만 입력하기 / 다음우편번호 서비스 본문

프론트엔드/JavaScript

HTML/JavaScript - 숫자만 입력하기 / 다음우편번호 서비스

비전공개미 2022. 9. 30. 16:10
반응형
SMALL
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <meta name="description" content="html5">
  <meta name="author" content="kim young">
  <title></title>
  <style>
        * { font-size: 16pt;  }
        a { font-size: 26pt; text-decoration: none;   color: blue;     }
   </style>

   <script>
        function nullCheck() {
            a = document.myform.code.value;
            if( a=="" || a == null){
                alert("코드데이터 필수입력사항입니다 ") ;
                myform.code.focus();
                return false; 
            }else{myform.title.focus(); }

            // size = myform.code.value.length ; 
            // if( size != 6  ){
            //     alert('code자릿수는 6자리입니다 ');
            //     myform.code.value="";
            //     myform.code.focus();
            //     return false;
            // }

            b = document.myform.title.value;
            if( b=="" || b == null){
                alert("제목데이터 필수입력사항입니다 ") ;
                myform.title.focus();
                return false;
            }

            c = document.myform.addr1.value;
            d = document.myform.addr2.value;
            if(c =="" || d== ""){
                alert("주소를 입력해주세요");
                myform.addr2.focus();
                return false;
            }
            //document.myform.submit();
        }//end

        function codeCheck(e){
            data = document.myform.code.value;  
            size = document.myform.code.value.length; 
            
            //숫자keyCode만 찾기
            if((event.keyCode >= 48) && (event.keyCode <= 57) || (event.keyCode >= 96) && (event.keyCode <= 105)|| event.keyCode == 190 || event.keyCode == 110 || event.keyCode == 8){
         	//code에서 6자리 미만이면 id="warning"을 보여주고 6자리 이하면 숨긴다
                if(size < 6){
                    document.getElementById("warning").style.display = "";
                }else{
                    document.getElementById("warning").style.display = "none";
                }
                return true;
            }else{
                alert("숫자만 입력해주세요");
                document.myform.code.value = "";
                return false;
            }
            
        }//end
    </script>    
</head>

<body>
    <font  color='blue'><b> input코드 숫자만 입력하기 / 다음우편번호 서비스 </b></font> <br>
    <form name="myform">
        코드: <input type="text" name="code" size="10" onkeyup="codeCheck();">  
        <span id="warning" style="font-size: 10pt; color: red; display:none;">* 아이디를 6자리이상 입력해주세요</span>
        <br>
        제목: <input type="text" name="title"  size="10">  <br>
        메일: <input type="email" name="email"  size="10" required autofocus>  <br>
        주소: <br>
        
        <!-- 카카오 우편번호 시작 -->
        <input type="text" id="postnum" placeholder="우편번호" size="7">
        <input type="button" name="addrbtn" onclick="sample6_execDaumPostcode()" value="우편번호 찾기"><br>
        <input type="text" id="addr1" name="addr1" placeholder="주소" ><br>
        <input type="text" id="addr2" name="addr2" placeholder="상세주소">
        <!-- <input type="text" id="sample6_extraAddress" placeholder="참고항목"> -->

        <script src="//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js"></script>
        <script>
            function sample6_execDaumPostcode() {
                new daum.Postcode({
                    oncomplete: function(data) {
                        // 팝업에서 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분.

                        // 각 주소의 노출 규칙에 따라 주소를 조합한다.
                        // 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다.
                        var addr = ''; // 주소 변수
                        var extraAddr = ''; // 참고항목 변수

                        //사용자가 선택한 주소 타입에 따라 해당 주소 값을 가져온다.
                        if (data.userSelectedType === 'R') { // 사용자가 도로명 주소를 선택했을 경우
                            addr = data.roadAddress;
                        } else { // 사용자가 지번 주소를 선택했을 경우(J)
                            addr = data.jibunAddress;
                        }

                        // 사용자가 선택한 주소가 도로명 타입일때 참고항목을 조합한다.
                        if(data.userSelectedType === 'R'){
                            // 법정동명이 있을 경우 추가한다. (법정리는 제외)
                            // 법정동의 경우 마지막 문자가 "동/로/가"로 끝난다.
                            if(data.bname !== '' && /[동|로|가]$/g.test(data.bname)){
                                extraAddr += data.bname;
                            }
                            // 건물명이 있고, 공동주택일 경우 추가한다.
                            if(data.buildingName !== '' && data.apartment === 'Y'){
                                extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName);
                            }
                            // 표시할 참고항목이 있을 경우, 괄호까지 추가한 최종 문자열을 만든다.
                            if(extraAddr !== ''){
                                extraAddr = ' (' + extraAddr + ')';
                            }
                            // 조합된 참고항목을 해당 필드에 넣는다.
                            //document.getElementById("sample6_extraAddress").value = extraAddr;
                        
                        } else {
                            //document.getElementById("sample6_extraAddress").value = '';
                        }

                        // 우편번호와 주소 정보를 해당 필드에 넣는다.
                        document.getElementById('postnum').value = data.zonecode;
                        document.getElementById("addr1").value = addr;
                        // 커서를 상세주소 필드로 이동한다.
                        document.getElementById("addr2").focus();
                    }
                }).open();
            }
        </script> 
        <br>
        <input type="button" value="저 장"  onclick="nullCheck();">
        <input type="reset" value="취 소">
    </form>
</body>
</html>
input코드 숫자만 입력하기 / 다음우편번호 서비스
코드:
제목:
주소:



 

다음 우편번호 서비스를 참고해서 예제코드를 붙여넣은 후 id를 매칭해주면 사용이 가능하다.

사용량에 제한이 없으며 기업용, 상업용으로 사용이 가능함

 

다음 우편번호 서비스 홈페이지 참고 https://postcode.map.daum.net/guide

반응형
LIST
Comments