자바스크립트 전화번호 형식으로 변경하기 정규식 사용

전화번호는 생각보다 다양한 형식으로 존재합니다.


1. 010-XXXX-XXXX : 11자리 휴대폰번호
2. 010-XXX-XXXX : 10자리 휴대폰번호
3. 02-XXXX-XXXX : 10자리 서울 전화번호
4. 031-XXX-XXXX : 10자리 서울 외 전화번호
5. 1688-XXXX : 8자리 업체 번호


자주 볼 수 있는 패턴을 나열하였으나 이 밖에도 아주 다양합니다.

자바스크립트에서 숫자로된 형식이 들어왔을 때
전화번호 형식으로 변경해주는 정규식 소스를 만들어봤습니다.
넘어온 타입에 따라 가운데 자리를 별표시 해주는 기능도 있으니 참고해주세요~

1. 자바스크립트 함수 생성 : phoneFomatter(num, type)
- num : '-' 문자가 들어있지않은 숫자로된 전화번호
- type : 0을 보내면 가운데자리를 숨겨준다

function phoneFomatter(num,type){
    
    var formatNum = '';
    
    if(num.length==11){
        if(type==0){
            formatNum = num.replace(/(\d{3})(\d{4})(\d{4})/, '$1-****-$3');
        }else{
            formatNum = num.replace(/(\d{3})(\d{4})(\d{4})/, '$1-$2-$3');
        }
    }else if(num.length==8){
        formatNum = num.replace(/(\d{4})(\d{4})/, '$1-$2');
    }else{
        if(num.indexOf('02')==0){
            if(type==0){
                formatNum = num.replace(/(\d{2})(\d{4})(\d{4})/, '$1-****-$3');
            }else{
                formatNum = num.replace(/(\d{2})(\d{4})(\d{4})/, '$1-$2-$3');
            }
        }else{
            if(type==0){
                formatNum = num.replace(/(\d{3})(\d{3})(\d{4})/, '$1-***-$3');
            }else{
                formatNum = num.replace(/(\d{3})(\d{3})(\d{4})/, '$1-$2-$3');
            }
        }
    }
    return formatNum;
    
}




2. 사용 예제
phoneFomatter('01000000000'); //010-0000-0000
phoneFomatter('01000000000',0); //010-****-0000
phoneFomatter('0100000000'); //010-000-0000
phoneFomatter('0100000000',0); //010-***-0000
phoneFomatter('0200000000'); //02-0000-0000
phoneFomatter('0200000000',0); //02-****-0000
phoneFomatter('0310000000'); //031-000-0000
phoneFomatter('0310000000',0); //031-***-0000
phoneFomatter('16880000'); //1688-0000


자주 사용되는거라서 한번 만들어두면 유용하게 사용할 수 있습니다.
맘껏 가지고 가셔서 쓰시되 댓글이나 좋아요는 꼭 해주세요^^

+ Recent posts