197 votes

Quelle est la longueur minimale d'un numéro de téléphone international valide ?

Je dois valider la saisie par l'utilisateur d'un numéro de téléphone international. D'après E.164 Dans le cas de l'Union européenne, la longueur maximale est de 15 chiffres, mais je n'ai pas pu trouver d'informations sur la longueur minimale. Je considère uniquement les chiffres, sans signe plus ni séparateur.

151voto

Shobhit Puri Points 9415

D'après différentes sources, je pense que la longueur minimale du format E-164 dépend de chaque pays. Par ex :

  • Pour Israël : La longueur minimale d'un numéro de téléphone (sans le l'indicatif du pays) est de 8 chiffres. - Source officielle (Code pays 972)

  • Pour la Suède : La longueur minimale du numéro (sans l'indicatif du pays) est de 7 chiffres. - Source officielle (code pays 46)

  • Pour les îles Salomon son 5 pour les téléphones fixes. - Source : (code pays 677)

... et ainsi de suite. Ainsi, y compris l'indicatif du pays, la longueur minimale est de 9 chiffres pour la Suède, 11 pour Israël et 8 pour les îles Salomon.

Edit (Solution propre) : En fait, au lieu de valider un numéro de téléphone international en effectuant différents contrôles comme la longueur, etc. Le site de Google libphonenumber bibliothèque . Il peut valider directement un numéro de téléphone au format E164. Il prend tout en compte et vous n'avez même pas besoin de donner le pays si le numéro est au format E164 valide. C'est très bien ! Prenons un exemple :

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());
}

Si vous connaissez le pays pour lequel vous validez les numéros, vous n'avez même pas besoin du format E164 et vous pouvez spécifier le pays dans le champ .parse au lieu de passer la fonction null .

31voto

shashikant pandit Points 237

La longueur minimale est de 4 pour Sainte-Hélène (Format : +290 XXXX) et Niue (Format : +683 XXXX).

17voto

Jamon Holmgren Points 7176

MODIFIER 2015-06-27 : Le minimum est en fait de 8, y compris l'indicatif du pays. C'est ma faute.

Poste original

Le numéro de téléphone minimum que j'utilise est de 10 chiffres. Les utilisateurs internationaux doivent toujours indiquer leur code pays, et pour autant que je sache, aucun pays ne compte moins de dix chiffres si l'on compte le code pays.

Plus d'informations ici : https://en.wikipedia.org/wiki/Telephone_numbering_plan

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X