본문으로 건너뛰기

전화번호 생성기 및 검증기 - 모든 국가를 위한 테스트 번호

미국, 영국, 멕시코, 인도의 유효한 형식으로 테스트용 전화번호를 지역 형식이나 E.164 형식으로 생성하고, 각 나라의 휴대전화와 유선전화 규칙에 맞는지 검증해주는 무료 개발자 도구다. 소프트웨어 테스트와 폼 검증 자동화에 활용된다.

전화번호 생성기 및 검증기

로딩 계산기...
📚

문서화

전화번호 생성기와 검증기란 무엇인가?

전화번호 생성기는 실제 국가의 형식 규칙을 따르지만 실제 가입자에게 할당되지 않은 전화번호를 만듭니다. 이 도구는 미국, 영국, 멕시코, 인도의 테스트용 전화번호를 생성합니다. 이동전화 번호 또는 유선전화 번호를 현지 형식이나 국제 E.164 형식으로 만들 수 있으며, 해당 국가의 번호 부여 규칙에 따라 결과를 확인합니다. 실제 통화나 문자 메시지 전송이 아니라 소프트웨어 테스트를 위한 도구입니다.

생성기가 번호를 만드는 방법

도구가 만드는 모든 번호는 고정된 지역번호와 무작위 숫자 블록이라는 두 부분으로 구성됩니다.

  1. 국가 및 지역. 지원되는 각 국가에는 네 개의 예시 지역이 나열됩니다(예: 미국의 경우 뉴욕, 캘리포니아, 텍사스, 플로리다). 각 지역은 하나의 실제 지역번호에 대응하므로 "California"를 선택하면 항상 지역번호 213이 부여되고, "New York"을 선택하면 항상 212가 부여됩니다.

  2. 이동전화 또는 유선전화. 영국과 인도에서는 이동전화 번호와 유선전화 번호가 서로 다른 접두사를 사용합니다. 미국과 멕시코에서는 이 두 국가에 별도의 이동전화 전용 범위가 없으므로 이 도구가 두 유형에 같은 지역번호 집합을 사용합니다.

  3. 무작위 숫자. 도구는 고정된 총 길이인 10자리까지 나머지 부분을 무작위 숫자로 채웁니다. 공식은 간단합니다.

    무작위 숫자 = 10 − 지역번호의 길이

    2자리 멕시코 지역번호(예: 55)의 경우 무작위 숫자는 8자리입니다. 3자리 미국 지역번호(예: 213)의 경우 무작위 숫자는 7자리입니다.

  4. 미국의 예외 사항. 미국 번호는 북미 번호 계획(NANP)을 따릅니다. 3자리 지역번호 다음의 3자리 국번은 2에서 9 사이의 숫자로 시작해야 하며, 911이나 411 같은 서비스 코드는 사용할 수 없습니다. 도구는 이 3자리가 조건을 충족할 때까지 다시 무작위 생성한 다음, 회선 번호용 무작위 숫자 4자리를 추가하여 이 규칙을 적용합니다.

  5. 형식 지정. 완성된 숫자는 묶음으로 표시되며, 국제 형식을 선택하면 E.164 형식에 따라 더하기 기호와 국가번호가 앞에 붙습니다.

지원 국가 및 지역번호

국가예시 지역 및 해당 고정 지역번호총 자릿수이동전화 접두사 규칙
미국 (+1)뉴욕 212, 캘리포니아 213, 텍사스 214, 플로리다 30510유선전화와 동일한 코드
영국 (+44)런던 20, 맨체스터 161, 버밍엄 121, 글래스고 141(유선전화); 이동전화는 7700–7703 사용107로 시작
멕시코 (+52)멕시코시티 55, 과달라하라 33, 몬테레이 81, 칸쿤 99810유선전화와 동일한 코드
인도 (+91)델리 11, 뭄바이 22, 방갈로르 80, 첸나이 44(유선전화); 이동전화는 6, 7, 8, 9 중 하나를 사용106, 7, 8 또는 9로 시작

네 국가 모두 이 도구에서는 10자리 국가번호를 생성합니다. 이는 미국과 인도의 실제 관행에 부합하지만, 실제 번호 계획에서 일부 변형을 허용하는 영국과 멕시코에는 단순화된 방식입니다.

예시: 멕시코시티 이동전화 번호

  1. 국가: 멕시코(+52). 지역: 멕시코시티이며, 지역번호는 55로 고정됩니다.
  2. 번호 유형: 이동전화. 멕시코의 이동전화 접두사는 유선전화 접두사와 같으므로 접두사는 여전히 55입니다.
  3. 필요한 무작위 숫자: 10 − 2 = 8. 도구가 12,345,678을 생성한다고 가정합니다.
  4. 결합된 숫자: 5512345678.
  5. 멕시코 형식에 따라 묶으면(2자리 지역번호의 경우 2-4-4): 55 1234 5678.
  6. 국제 형식에서는 국가번호가 추가됩니다: +52 55 1234 5678. 현지 형식에서는 국가번호가 빠집니다: 55 1234 5678.

예시: 미국 번호와 NANP 규칙

  1. 국가: 미국(+1). 지역: 캘리포니아이며, 지역번호는 213으로 고정됩니다.
  2. 필요한 무작위 숫자: 10 − 3 = 7. 도구는 2–9로 시작하면서 N11 코드가 아닌 3자리 국번을 생성한 다음 4자리를 더합니다. 국번이 555이고 추가 숫자가 0199라고 가정합니다.
  3. 결합된 숫자: 2135550199.
  4. NANP의 3-3-4 형식으로 묶으면: 213,555 0199.
  5. 국제 형식: +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처럼 유지 관리되는 라이브러리가 직접 작성한 정규 표현식보다 훨씬 다양한 예외 상황을 처리합니다.