63 votes

Validation du Numéro de Téléphone

Comment vérifier si un numéro de téléphone est valide ou non ? Il a une longueur maximale de 13 (y compris le caractère + devant).

Comment je fais ça?

J'ai essayé ceci :

 String regexStr = "^[0-9]$";

String number=entered_number.getText().toString();  

if(entered_number.getText().toString().length()<10 || number.length()>13 || number.matches(regexStr)==false  ) {
    Toast.makeText(MyDialog.this,"Please enter "+"\n"+" valid phone number",Toast.LENGTH_SHORT).show();
    // am_checked=0;
}`

Et j'ai aussi essayé ceci :

 public boolean isValidPhoneNumber(String number)
{
     for (char c : number.toCharArray())
     {
         if (!VALID_CHARS.contains(c))
         {
            return false;
         }
     }
     // All characters were valid
     return true;
}

Les deux ne fonctionnent pas.

Type d'entrée : + sign to be accepted and from 0-9 numbers and length b/w 10-13 and should not accept other characters

121voto

Sunil Kumar Sahoo Points 21032

Utilisez la méthode isGlobalPhoneNumber() PhoneNumberUtils pour détecter si un numéro est un numéro de téléphone valide ou non.

Exemple

 System.out.println("....g1..."+PhoneNumberUtils.isGlobalPhoneNumber("+912012185234"));
System.out.println("....g2..."+PhoneNumberUtils.isGlobalPhoneNumber("120121852f4"));

Le résultat de la première instruction print est vrai tandis que le résultat de la seconde est faux car le second numéro de téléphone contient f .

31voto

DiscDev Points 8087

Pour valider les numéros de téléphone d'une région spécifique dans Android, utilisez libPhoneNumber de Google et le code suivant comme exemple :

 public boolean isPhoneNumberValid(String phoneNumber, String countryCode)
{
    //NOTE: This should probably be a member variable.
    PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();

    try 
    {
        PhoneNumber numberProto = phoneUtil.parse(phoneNumber, countryCode);
        return phoneUtil.isValidNumber(numberProto);
    } 
    catch (NumberParseException e) 
    {
        System.err.println("NumberParseException was thrown: " + e.toString());
    }

    return false;
}

9voto

TejaDroid Points 3854

vous pouvez également vérifier la validation du numéro de téléphone comme

      /**
     * Validation of Phone Number
     */
    public final static boolean isValidPhoneNumber(CharSequence target) {
        if (target == null || target.length() < 6 || target.length() > 13) {
            return false;
        } else {
            return android.util.Patterns.PHONE.matcher(target).matches();
        }

    }

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