File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
// 유효한 번호인지 확인하는 함수
function isValidPhoneNumber(phone) {
// 숫자만 추출
numberOnly = phone.replace(/\D/g, ''); // 숫자 이외의 문자 제거
// console.log('numberOnly : ' ,numberOnly);
// 유효한 형식 체크
return (
(numberOnly.startsWith("010") && numberOnly.length === 11) || // 010으로 시작하고 11자리
(/^01[1-9]/.test(numberOnly) && numberOnly.length === 10 && // 011~019로 시작하고 10자리
!/^01[2-4]/.test(numberOnly)) || // 012, 013, 014는 유효하지 않음
(numberOnly.startsWith("050") && numberOnly.length === 12) // 050X로 시작하고 12자리
);
}
// 유효성 후 포맷 맞추는 함수
function formatPhoneNumber(phone) {
if (typeof phone !== 'string') {
phone = String(phone); // phone을 문자열로 변환
}
// 숫자만 남기기
let cleanedPhone = phone.replace(/\D/g, ''); // 모든 숫자가 아닌 문자 제거
// console.log('cleanedPhone : ', cleanedPhone);
// 앞에 0이 추가된 경우 처리
if (cleanedPhone.length === 10 && cleanedPhone.startsWith("10")) {
// 10으로 시작하는 10자리 번호는 앞에 0을 추가하여 11자리로 만듦
cleanedPhone = "0" + cleanedPhone;
}else if (cleanedPhone.length === 9 && (cleanedPhone.startsWith("11") || cleanedPhone.startsWith("16") || cleanedPhone.startsWith("19"))) {
// 11, 16, 19로 시작하는 9자리 번호는 앞에 0을 추가하여 10자리로 만듦
cleanedPhone = "0" + cleanedPhone;
}
// 번호 형식 변환
if (cleanedPhone.startsWith("010") && cleanedPhone.length === 11) {
// 010-1234-5678 형식
return cleanedPhone.substring(0, 3) + '-' + cleanedPhone.substring(3, 7) + '-' + cleanedPhone.substring(7);
} else if ((/^01[1-9]/.test(cleanedPhone)) && cleanedPhone.length === 10) {
// 01X-123-5678 형식
return cleanedPhone.substring(0, 3) + '-' + cleanedPhone.substring(3, 6) + '-' + cleanedPhone.substring(6);
} else if (cleanedPhone.startsWith("050") && cleanedPhone.length === 12) {
// 050X-1234-5678 형식
return cleanedPhone.substring(0, 4) + '-' + cleanedPhone.substring(4, 8) + '-' + cleanedPhone.substring(8);
}
// 원본 반환 (표준 형식으로 변환되지 않으면)
return phone;
}