개발이야기/자바스크립트

[자바스크립트] 문자열 하이픈 넣기 (생년월일, 핸드폰/전화번호)

후린개발자 2023. 7. 18.
반응형

아래 코드는 생년월일과 전화번호에 따라 해당하는 형식으로 변환을 수행하고 결과를 출력하는 간단한 예제 소스입니다.
생년월일이 8자리 문자열인 경우 YYYY-MM-DD 형식으로 변환하여 리턴하고, 전화번호는 11자리/8자리/그외의 경우에 따라서 하이픈을 추가합니다.
간단한 예제 코드이니 확인하시고 응용하시면 됩니다.

 

<script>  
function birthFormatter(num){
	if(!num){
		return "";
	}
	var formatNum = '';
	num=num.replace(/\s/gi, "");
	if(num.length == 8){  
		formatNum = num.replace(/(\d{4})(\d{2})(\d{2})/, '$1-$2-$3');
	}else{
		formatNum = num;
	}
	return formatNum;
}
    
function phoneFormatter(num) {
	var formatNum = '';
	try{
		if (num.length == 11) {
			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) {
				formatNum = num.replace(/(\d{2})(\d{4})(\d{4})/, '$1-$2-$3');
			} else {
				formatNum = num.replace(/(\d{3})(\d{3})(\d{4})/, '$1-$2-$3');
			}
		}
	} catch(e) {
		formatNum = num;
	}
	return formatNum;
}

var birthday = "19870825";
var formattedBirthday = birthFormatter(birthday);
console.log(formattedBirthday); //1987-08-25


var phoneNumber1 = "01012345678";
var formattedPhoneNumber1 = phoneFormatter(phoneNumber1);
console.log(formattedPhoneNumber1); //010-1234-5678

var phoneNumber2 = "0212345678";
var formattedPhoneNumber2 = phoneFormatter(phoneNumber2);
console.log(formattedPhoneNumber2); //02-1234-5678

var phoneNumber3 = "0101234567";
var formattedPhoneNumber3 = phoneFormatter(phoneNumber3);
console.log(formattedPhoneNumber3); //010-123-4567
</script>
반응형

댓글

💲 추천 글