전화번호 생성기 및 검증기 - 모든 국가를 위한 테스트 번호
미국, 영국, 멕시코, 인도의 유효한 형식으로 테스트용 전화번호를 지역 형식이나 E.164 형식으로 생성하고, 각 나라의 휴대전화와 유선전화 규칙에 맞는지 검증해주는 무료 개발자 도구다. 소프트웨어 테스트와 폼 검증 자동화에 활용된다.
전화번호 생성기 및 검증기
문서화
전화번호 생성기와 검증기란 무엇인가?
전화번호 생성기는 실제 국가의 형식 규칙을 따르지만 실제 가입자에게 할당되지 않은 전화번호를 만듭니다. 이 도구는 미국, 영국, 멕시코, 인도의 테스트용 전화번호를 생성합니다. 이동전화 번호 또는 유선전화 번호를 현지 형식이나 국제 E.164 형식으로 만들 수 있으며, 해당 국가의 번호 부여 규칙에 따라 결과를 확인합니다. 실제 통화나 문자 메시지 전송이 아니라 소프트웨어 테스트를 위한 도구입니다.
생성기가 번호를 만드는 방법
도구가 만드는 모든 번호는 고정된 지역번호와 무작위 숫자 블록이라는 두 부분으로 구성됩니다.
-
국가 및 지역. 지원되는 각 국가에는 네 개의 예시 지역이 나열됩니다(예: 미국의 경우 뉴욕, 캘리포니아, 텍사스, 플로리다). 각 지역은 하나의 실제 지역번호에 대응하므로 "California"를 선택하면 항상 지역번호 213이 부여되고, "New York"을 선택하면 항상 212가 부여됩니다.
-
이동전화 또는 유선전화. 영국과 인도에서는 이동전화 번호와 유선전화 번호가 서로 다른 접두사를 사용합니다. 미국과 멕시코에서는 이 두 국가에 별도의 이동전화 전용 범위가 없으므로 이 도구가 두 유형에 같은 지역번호 집합을 사용합니다.
-
무작위 숫자. 도구는 고정된 총 길이인 10자리까지 나머지 부분을 무작위 숫자로 채웁니다. 공식은 간단합니다.
무작위 숫자 = 10 − 지역번호의 길이
2자리 멕시코 지역번호(예: 55)의 경우 무작위 숫자는 8자리입니다. 3자리 미국 지역번호(예: 213)의 경우 무작위 숫자는 7자리입니다.
-
미국의 예외 사항. 미국 번호는 북미 번호 계획(NANP)을 따릅니다. 3자리 지역번호 다음의 3자리 국번은 2에서 9 사이의 숫자로 시작해야 하며, 911이나 411 같은 서비스 코드는 사용할 수 없습니다. 도구는 이 3자리가 조건을 충족할 때까지 다시 무작위 생성한 다음, 회선 번호용 무작위 숫자 4자리를 추가하여 이 규칙을 적용합니다.
-
형식 지정. 완성된 숫자는 묶음으로 표시되며, 국제 형식을 선택하면 E.164 형식에 따라 더하기 기호와 국가번호가 앞에 붙습니다.
지원 국가 및 지역번호
| 국가 | 예시 지역 및 해당 고정 지역번호 | 총 자릿수 | 이동전화 접두사 규칙 |
|---|---|---|---|
| 미국 (+1) | 뉴욕 212, 캘리포니아 213, 텍사스 214, 플로리다 305 | 10 | 유선전화와 동일한 코드 |
| 영국 (+44) | 런던 20, 맨체스터 161, 버밍엄 121, 글래스고 141(유선전화); 이동전화는 7700–7703 사용 | 10 | 7로 시작 |
| 멕시코 (+52) | 멕시코시티 55, 과달라하라 33, 몬테레이 81, 칸쿤 998 | 10 | 유선전화와 동일한 코드 |
| 인도 (+91) | 델리 11, 뭄바이 22, 방갈로르 80, 첸나이 44(유선전화); 이동전화는 6, 7, 8, 9 중 하나를 사용 | 10 | 6, 7, 8 또는 9로 시작 |
네 국가 모두 이 도구에서는 10자리 국가번호를 생성합니다. 이는 미국과 인도의 실제 관행에 부합하지만, 실제 번호 계획에서 일부 변형을 허용하는 영국과 멕시코에는 단순화된 방식입니다.
예시: 멕시코시티 이동전화 번호
- 국가: 멕시코(+52). 지역: 멕시코시티이며, 지역번호는 55로 고정됩니다.
- 번호 유형: 이동전화. 멕시코의 이동전화 접두사는 유선전화 접두사와 같으므로 접두사는 여전히 55입니다.
- 필요한 무작위 숫자: 10 − 2 = 8. 도구가 12,345,678을 생성한다고 가정합니다.
- 결합된 숫자: 5512345678.
- 멕시코 형식에 따라 묶으면(2자리 지역번호의 경우 2-4-4): 55 1234 5678.
- 국제 형식에서는 국가번호가 추가됩니다: +52 55 1234 5678. 현지 형식에서는 국가번호가 빠집니다: 55 1234 5678.
예시: 미국 번호와 NANP 규칙
- 국가: 미국(+1). 지역: 캘리포니아이며, 지역번호는 213으로 고정됩니다.
- 필요한 무작위 숫자: 10 − 3 = 7. 도구는 2–9로 시작하면서 N11 코드가 아닌 3자리 국번을 생성한 다음 4자리를 더합니다. 국번이 555이고 추가 숫자가 0199라고 가정합니다.
- 결합된 숫자: 2135550199.
- NANP의 3-3-4 형식으로 묶으면: 213,555 0199.
- 국제 형식: +1,213,555 0199.
국번 규칙이 생성 과정에서 적용되므로 이 번호는 항상 도구 자체의 검증을 통과합니다.
E.164: 국제 형식
E.164는 국제전기통신연합(ITU)이 1984년에 정한 번호 부여 표준입니다. 전화번호를 최대 15자리로 제한하며, 국제적으로 사용할 번호를 적을 때는 국가번호 앞에 더하기 기호를 붙이도록 합니다. 예: +52 55 1234 5678. 전화번호를 저장하는 소프트웨어는 보통 E.164를 선호합니다. 형식이 모호하지 않기 때문입니다. 예를 들어 +15551234567은 그 자체로 국가를 식별하지만, (555) 123-4567처럼 현지 형식으로 적은 번호는 그렇지 않습니다.
이 도구에서 검증이 작동하는 방식
"Generate"를 클릭하면 번호를 생성하는 동시에 확인하고, 번호 옆에 "valid" 또는 "invalid" 표시를 보여 줍니다. 확인하는 항목은 다음과 같습니다.
- 길이. 국가번호를 국제 형식으로 적은 경우에는 국가번호를 제외한 국가번호가 정확히 10자리여야 합니다.
- 미국 국번 및 지역번호. 3자리 지역번호와 3자리 국번은 모두 2–9로 시작해야 하며, 911 같은 N11 코드여서는 안 됩니다.
- 인도 이동전화 번호. 첫 번째 숫자는 6, 7, 8 또는 9여야 합니다.
- 영국 이동전화 번호. 번호는 7로 시작해야 합니다.
생성기가 이미 동일한 규칙에 따라 번호를 만들기 때문에 새로 생성된 번호는 일반적으로 유효한 것으로 표시됩니다. 이 확인 기능은 실제 사용자가 입력한 전화번호를 검증할 때 개발자가 사용하는 동일한 논리를 눈에 보이는 방식으로 보여 주기 위한 것입니다.
자주 묻는 질문
실제로 통화나 문자를 받을 수 있는 전화번호인가요? 아닙니다. 해당 국가의 올바른 형식을 따르도록 무작위로 생성되지만 실제 가입자에게 할당된 번호는 아닙니다. 우연히 실제 번호와 일치할 수 있으므로 통화를 걸거나 메시지를 보내는 데 사용해서는 안 됩니다.
국제 형식과 현지 형식의 차이는 무엇인가요? 국제 형식은 더하기 기호와 국가번호로 시작합니다. 예: +52 55 1234 5678. 현지 형식은 국가번호를 생략합니다. 예: 55 1234 5678. 이는 해당 국가 안에서 전화를 걸 때 사용하는 방식입니다.
미국과 멕시코 번호는 이동전화와 유선전화를 구분하지 않는데, 영국과 인도 번호는 왜 구분하나요? 이 도구는 미국과 멕시코에서 이동전화와 유선전화에 같은 지역번호 목록을 사용하므로, 같은 지역에서 "mobile"로 생성한 번호와 "landline"으로 생성한 번호가 똑같아 보일 수 있습니다. 영국과 인도는 이동전화와 유선전화에 별도의 접두사 목록을 사용하므로 두 유형이 다르게 보입니다.
이 도구는 생성한 번호를 저장하거나 전송하나요? 아닙니다. 생성과 검증은 브라우저에서 이루어집니다. 페이지를 닫은 뒤에는 어떤 정보도 서버로 전송되거나 저장되지 않습니다.
생성된 번호를 실제 운영 애플리케이션에서 사용할 수 있나요? 개발 및 테스트 용도로만 사용해야 합니다. 실제로 작동하는지 확인된 번호가 아니므로 실제 고객 데이터로 저장해서는 안 됩니다.
자체 코드에서 전화번호를 어떻게 검증하나요? 국가별 형식에 맞는 정규 표현식을 정의하고, 입력값에서 공백과 구두점을 제거한 다음, 위에서 설명한 확인 방식처럼 예상 길이 및 접두사 규칙과 비교합니다. 여러 국가를 지원하는 운영 환경에서는 Google의 libphonenumber처럼 유지 관리되는 라이브러리가 직접 작성한 정규 표현식보다 훨씬 다양한 예외 상황을 처리합니다.