어제 오늘 내일

[Javascript] 정규식으로 전화번호 체크하기 (하이픈 포함, 미포함) 본문

IT/Javascript

[Javascript] 정규식으로 전화번호 체크하기 (하이픈 포함, 미포함)

hi.anna 2025. 2. 25. 06:50

정규식으로 전화번호 체크하기

 

1. 하이픈 포함 전화번호 검사

형식 예시

  • 010-1234-5678
  • 02-123-4567
  • 031-123-4567

정규식

/^0\d{1,2}-\d{3,4}-\d{4}$/

 

  • ^: 문자열 시작
  • 0: 전화번호는 0으로 시작
  • \d{1,2}: 지역번호는 1~2자리 (02, 031 등)
  • -: 하이픈이 반드시 포함되어야 함
  • \d{3,4}: 중간 번호는 3~4자리
  • \d{4}: 마지막 번호는 4자리
  • $: 문자열 끝

예제 코드

function isHyphenPhoneNumber(phone) {
  const regex = /^0\d{1,2}-\d{3,4}-\d{4}$/;
  return regex.test(phone);
}

console.log(isHyphenPhoneNumber("010-1234-5678")); // true
console.log(isHyphenPhoneNumber("02-123-4567"));   // true
console.log(isHyphenPhoneNumber("031-123-4567"));  // true
console.log(isHyphenPhoneNumber("01012345678"));   // false (하이픈 없음)

 

 

2. 하이픈 미포함 전화번호 검사

형식 예시

  • 01012345678
  • 021234567
  • 0311234567

정규식

/^0\d{8,10}$/

 

  • ^: 문자열 시작
  • 0: 전화번호는 0으로 시작
  • \d{8,10}: 숫자 8자리에서 10자리까지 허용
  • $: 문자열 끝

예제 코드

function isPlainPhoneNumber(phone) {
  const regex = /^0\d{8,10}$/;
  return regex.test(phone);
}

console.log(isPlainPhoneNumber("01012345678")); // true
console.log(isPlainPhoneNumber("021234567"));   // true
console.log(isPlainPhoneNumber("0311234567"));  // true
console.log(isPlainPhoneNumber("010-1234-5678"));// false (하이픈 포함)
console.log(isPlainPhoneNumber("010 1234 5678"));// false (공백 포함)

 

 

3. 하이픈 포함 및 미포함 모두 검사

형식 예시

  • 010-1234-5678
  • 02-123-4567
  • 01012345678
  • 021234567

정규식

/^0\d{1,2}-?\d{3,4}-?\d{4}$/

 

  • ^: 문자열 시작
  • 0: 전화번호는 0으로 시작
  • \d{1,2}: 지역번호는 1~2자리
  • -?: 하이픈이 있을 수도 있고 없을 수도 있음 (선택적)
  • \d{3,4}: 중간 번호는 3~4자리
  • -?: 하이픈 선택적
  • \d{4}: 마지막 번호는 4자리
  • $: 문자열 끝

예제 코드

function isPhoneNumber(phone) {
  const regex = /^0\d{1,2}-?\d{3,4}-?\d{4}$/;
  return regex.test(phone);
}

console.log(isPhoneNumber("010-1234-5678")); // true
console.log(isPhoneNumber("02-123-4567"));   // true
console.log(isPhoneNumber("01012345678"));   // true
console.log(isPhoneNumber("0311234567"));    // true
console.log(isPhoneNumber("010-123-5678"));  // true
console.log(isPhoneNumber("010 1234 5678")); // false (공백 포함)

 

 

 

반응형
Comments