Android:按国家/地区验证 Phone 号码长度

Android: Validate Phone Number Length by COUNTRY

我们如何根据国家/地区验证手机号码的长度? (知道国家代码可能是也可能不是号码的一部分)

长度可能因国家/地区而异,这意味着应该有一个长度范围或模式验证器。

示例:

注意:知道在哪里可以找到每个国家/地区的手机号码长度范围。

谢谢!

给定手机号码和国家代码,您可以使用 libphonenumeer 这是一个 Google 库来验证 phone 号码;它检查数字长度并捕获 NumberParseException 异常,如果它不是正确的数字。

这是他们的使用示例

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

添加到@Zain 的回答。

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 it's length is valid.
  boolean isPossible = phoneUtil.isPossibleNumber(swissNumberProto);
} catch (NumberParseException e) {
  System.err.println("NumberParseException was thrown: " + e.toString());
}