Android:按国家/地区验证 Phone 号码长度
Android: Validate Phone Number Length by COUNTRY
我们如何根据国家/地区验证手机号码的长度?
(知道国家代码可能是也可能不是号码的一部分)
长度可能因国家/地区而异,这意味着应该有一个长度范围或模式验证器。
示例:
- +1 222 2222 222(13位)有效✔️
- 222 2222 222 (12 digits) 只有在相应的 Locale 中选择才有效 ✔️
- +1 222 2222 2222222 (17位) 无效 ❌
- +1 222 2222 (8位) 无效 ❌
注意:知道在哪里可以找到每个国家/地区的手机号码长度范围。
谢谢!
给定手机号码和国家代码,您可以使用 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());
}
我们如何根据国家/地区验证手机号码的长度? (知道国家代码可能是也可能不是号码的一部分)
长度可能因国家/地区而异,这意味着应该有一个长度范围或模式验证器。
示例:
- +1 222 2222 222(13位)有效✔️
- 222 2222 222 (12 digits) 只有在相应的 Locale 中选择才有效 ✔️
- +1 222 2222 2222222 (17位) 无效 ❌
- +1 222 2222 (8位) 无效 ❌
注意:知道在哪里可以找到每个国家/地区的手机号码长度范围。
谢谢!
给定手机号码和国家代码,您可以使用 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());
}