메뉴 건너뛰기

조회 수 10741 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
<!doctype html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Document</title>
 </head>
 <body>
  <script>
    
    /** 
     * 핸드폰번호 마스크처리(010-11**-*111)
     * 정규식 이용. 
     */

    function hpFormatHiddenByRegx(hp) {
        var pattern = /^(\d{3})-?(\d{1,2})\d{2}-?\d(\d{3})$/;
        var result = "";
        if(!hp) return result;

        var match = pattern.exec(hp);
        if(match) {
            result = match[1]+"-"+match[2]+"**-*"+match[3];
        } else {
            result = "***";
        }
        return result;
    }
    
    /** 
     * 핸드폰번호 마스크처리(010-11**-*111)
     * 정규식 이용. 작업을 최소화 (치환 방식)
     */

    function hpFormatHiddenByRegx2(hp) {
        var pattern = /^(\d{3})-?(\d{1,2})\d{2}-?\d(\d{3})$/;
        var result = "";
        if(!hp) return result;

        if(pattern.test(hp)) {
            result = sampleHpData[i].replace(pattern, '$1-$2**-*$3');
        } else {
            result = "***";
        }
        return result;
    }

    //문서 출력용 함수
    function print(str1, str2) {
        document.write(str1+" : "+str2 +"<br/>");
        console.log(str1+" : "+str2);
    }

    //테스트/=====================================================================================
    
    var sampleHpData = ["01012345678" , "0101234567" , "010123451234512345",
                        "010-1234-1234", "010-123-1234", "123"];

    for( i in sampleHpData) {
        //var tmp = sampleHpData[i].replace(/^(\d{3})-?(\d{1,2})\d{2}-?\d(\d{3})$/, '$1-$2**-*$3');
        var tmp = hpFormatHiddenByRegx(sampleHpData[i]);
        print(sampleHpData[i],tmp);
    }
    print("-","-");
    for( i in sampleHpData) {
        var tmp = hpFormatHiddenByRegx2(sampleHpData[i]);
        print(sampleHpData[i],tmp);
    }

  </script>
 </body>
</html>



List of Articles
번호 제목 날짜 조회 수
167 Location 객체 - URL 파싱 - URL에서 전달인자 추출하기 함수 작성 file 2015.06.19 8523
166 location.href 로 새창 여는 방법 (target=_blank 효과) 2015.06.19 9398
165 Node.js와 npm(+ npx)의 개념 2023.01.20 134
164 onkeypress 키보드 이벤트 처리하는 법 – text, textarea 2016.09.21 7001
163 opener 값전달, 함수실행.(자식창에서 부모창으로 값전달, 함수실행) 2021.03.26 1437
162 response.setHeader 2016.12.22 7358
161 select 당일 날짜 출력 file 2014.03.01 5780
160 SelectBox에서 선택된 항목의 텍스트, 값 가져오기 선택 옵션 넣기. 2018.07.04 4014
159 setTimeout 대체 스크립트 함수 (일시멈춤) 2016.12.22 6241
158 setTimeout() / clearTimeout() / setInterval() 2016.12.22 8162
157 span - 동적으로 글자 바꾸기, 보이기 안보이기 2019.01.16 1446
156 split, join, replace, replace_all 2021.03.26 204
155 Textarea 글자수 체크 2014.03.01 5651
154 textarea의 글자수 제한 2014.02.27 6161
153 top 부분이 고정되는 슬라이딩 메뉴입니다 file 2014.03.01 5752
152 utf-8일때 alert 한글 깨짐 해결 2021.03.26 3558
151 [INPUT BOX] 텍스트박스(INPUT 박스) 가 동적으로 추가,삭제됩니다 2017.02.19 8526
150 [jQuery] textarea 글자수 카운트 2014.03.01 7420
149 [jQuery] 상위부터 차례로 지역 선택하기 2014.03.01 45988
148 [jQuery] 실시간 검색어 순위 순서대로 보여주기 2014.03.01 12017
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved