유효한 국제 전화 번호의 최소 길이는 얼마입니까?


147

국제 전화 번호의 사용자 입력을 확인해야합니다. E.164 에 따르면 최대 길이는 15 자리이지만 최소값에 대한 정보를 찾을 수 없습니다. 더하기 부호 또는 구분 기호가없는 숫자 만 고려합니다.


좋은 질문. 그것에 대한 답을 찾을 수 있었습니까?
Shobhit Puri

1
링크 는 최소가 7 인 것을 보여줍니다
LoranceChen

답변:


122

다른 출처에 따르면 E-164 형식의 최소 길이는 국가마다 다릅니다. 예를 들어 :

  • 이스라엘의 경우 : 국가 번호를 제외한 최소 전화 번호 길이는 8 자리입니다. - 공식 출처 (국가 코드 972)
  • 스웨덴의 경우 : 국가 번호를 제외한 최소 숫자 길이는 7 자리입니다. - 공식 출처 (국가 코드 46)

  • 솔로몬 제도 의 경우 유선 전화의 경우 5 개입니다. - 출처 (국가 코드 677)

... 등등. 국가 코드를 포함하여 최소 길이는 스웨덴의 경우 9 자리, 이스라엘의 경우 11 자리, 솔로몬 제도의 경우 8 자리입니다.

편집 (청소 솔루션) : 실제로 길이 등의 다른 확인을 통해 국제 전화 번호를 확인하는 대신 Google의 libphonenumber 라이브러리를 사용할 수 있습니다 . E164 형식의 전화 번호를 직접 확인할 수 있습니다. 그것은 모든 것을 고려할 것이고 숫자가 유효한 E164 형식이라면 국가를 제공 할 필요조차 없습니다. 꽤 좋습니다! 예를 들면 :

String phoneNumberE164Format = "+14167129018"
PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
try {
    PhoneNumber phoneNumberProto = phoneUtil.parse(phoneNumberE164Format, null);
    boolean isValid = phoneUtil.isValidNumber(phoneNumberProto); // returns true if valid
    if (isValid) {
        // Actions to perform if the number is valid
    } else {
        // Do necessary actions if its not valid 
    }
} catch (NumberParseException e) {
    System.err.println("NumberParseException was thrown: " + e.toString());
}

숫자를 확인하는 국가를 알고 있으면 E164 형식도 필요 없으며 .parse전달하는 대신 국가를 기능으로 지정할 수 있습니다 null.


OMG, 몇 주 전에 Google 링크는 어디에 있었습니까? :-) 감사!
AMM

야아, 최근에 업데이트했습니다. 지연 돼서 죄송합니다. 도움이 되길 바랍니다.
Shobhit Puri

@ShobhitPuri Google의 라이브러리에 따르면 "2222"는 유효한 숫자이므로 최소한 확인해야 할 길이가 있어야합니다.
안드로이드 개발자

@androiddeveloper libphonenumber.appspot.com에서 위의 번호를 시도했습니다. 그러나 그것은 가능한 숫자가 아니라고 말했다. 어떤 국가 코드로 그 번호를 사용해 보셨습니까? 또한 두 가지 기능이 있습니다. 하나는 가능한 숫자인지 확인하고 다른 하나는 유효한지 검사합니다. 길이 검사가 필요하다고 생각하지 않습니다.
Shobhit Puri

실제로 이스라엘 국가 코드로 시도하면 유효합니다. 숫자 유형을 확인할 수 있습니다 . getPhoneTypeUAN을 반환하는 것 같습니다. 이 2222 숫자는 UAN입니다. 그러나 Universal Access Numbers도 길어질 수 있습니다. 기술적으로는 유효한 숫자 인 것 같습니다. 따라서 전화 번호 유형이나 최소 길이를 확인할 수 있습니다.
Shobhit Puri

15

2015-06-27 편집 : 국가 코드를 포함하여 최소값은 실제로 8입니다. 내 잘못이야.

원본 게시물

사용하는 최소 전화 번호는 10 자리입니다. 국제 사용자는 항상 국가 코드를 입력해야하며 국가 코드를 세면 10 자리 미만의 국가가 없다는 것을 알고 있습니다.

자세한 정보는 여기 : https://en.wikipedia.org/wiki/Telephone_numbering_plan


12
솔로몬 제도는 국가 코드를 포함하여 8 개를 가질 수 있습니다 ( en.wikipedia.org/wiki/Telephone_numbers_in_the_Solomon_Islands )
Tom Heard

감사합니다 @TomHeard-내 게시물을 수정했습니다!
Jamon Holmgren

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.