Charlie Abou Moussa
Charlie Abou Moussa

Reputation: 135

Android: Validate Phone Number Length by COUNTRY

How can we validate the length of a mobile number by COUNTRY? (Knowing that the country code might or might not be part of the number)

Length may vary per country, meaning there should be a length range or pattern validator.

Example:

Note: Any idea where can I find each country's mobile number length range.

Thank you!

Upvotes: 0

Views: 7192

Answers (3)

Lance Samaria
Lance Samaria

Reputation: 19572

Kotlin answer

val swissNumberStr = "044 668 18 00"
val phoneUtil = PhoneNumberUtil.getInstance()

try {

    val swissNumberPrototype = phoneUtil.parse(swissNumberStr, "CH")

    val isValid = phoneUtil.isValidNumber(swissNumberPrototype)

    if (isValid) {
        // do something
    } else {
        // do something else
    }

} catch (e: NumberParseException) {
    System.err.println("NumberParseException was thrown: $e")
}

Upvotes: 1

Charlie Abou Moussa
Charlie Abou Moussa

Reputation: 135

Adding to @Zain 's answer.

String swissNumberStr = "044 668 18 00";
PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
try {
  PhoneNumber swissNumberProto = phoneUtil.parse(swissNumberStr, "CH");
//  This will check if the phone number is real and its length is valid.
  boolean isPossible = phoneUtil.isPossibleNumber(swissNumberProto);
} catch (NumberParseException e) {
  System.err.println("NumberParseException was thrown: " + e.toString());
}

Upvotes: 1

Zain
Zain

Reputation: 40810

Given the mobile number and the country code, you can use libphonenumeer which is a Google library for validating phone numbers; it checks the number length and catches NumberParseException exception if it is not a right number.

This is their sample in how to use it

String swissNumberStr = "044 668 18 00";
PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
try {
  PhoneNumber swissNumberProto = phoneUtil.parse(swissNumberStr, "CH");
} catch (NumberParseException e) {
  System.err.println("NumberParseException was thrown: " + e.toString());
}

Upvotes: 1

Related Questions