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 (공백 포함)
반응형