Validation 有效国际电话号码的最小长度是多少?
我需要验证用户输入的国际电话号码。根据,最大长度为15位,但我找不到关于最小长度的任何信息。我只考虑数字,没有加号或分隔符。 < P> <强>编辑2015-0627:最小值实际上是8,包括国家代码。我的错。 原职 我使用的最小电话号码是10位数。国际用户应该总是输入他们的国家代码,据我所知,如果你计算国家代码,没有国家的数字少于10位Validation 有效国际电话号码的最小长度是多少?,validation,Validation,我需要验证用户输入的国际电话号码。根据,最大长度为15位,但我找不到关于最小长度的任何信息。我只考虑数字,没有加号或分隔符。 < P> 编辑2015-0627:最小值实际上是8,包括国家代码。我的错。 原职 我使用的最小电话号码是10位数。国际用户应该总是输入他们的国家代码,据我所知,如果你计算国家代码,没有国家的数字少于10位 更多信息:根据不同来源,我认为E-164格式的最小长度取决于国家/地区。例如: 对于以色列:最小电话号码长度(不包括 国家/地区代码)是8位数字。- (国家代码972
更多信息:根据不同来源,我认为E-164格式的最小长度取决于国家/地区。例如:
- 对于以色列:最小电话号码长度(不包括 国家/地区代码)是8位数字。- (国家代码972)
- 对于瑞典:最小数字长度(不包括 国家代码)是7位数字 (国家代码46)
- 对于所罗门群岛它的5个固定电话(国家代码677)
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());
}
如果您知道要验证数字的国家,您不知道;甚至不需要E164格式,可以在
函数中指定国家,而不是传递null
圣赫勒拿(格式:+290 XXXX)和纽埃(格式:+683 XXXX)的最小长度为4 好问题。你能找到答案吗?显示最小值是7所罗门群岛可以有8个,包括国家代码()谢谢@TomHeard--修改了我的帖子!天哪,几周前谷歌的链接在哪里!:-)谢谢是啊,我最近更新了。抱歉耽搁了。希望能有帮助。@ShobhitPuri我想谷歌的图书馆也说“2222”是一个有效的数字,所以也许应该有一个最小长度来检查。@androiddeveloper我在libphonenumber.appspot.com上试过你上面的数字。但它说这不是一个可能的数字。你是用哪个国家代码打那个号码的?还有两个函数:一个检查它是否是一个可能的数字,另一个检查它是否有效。我认为我们不需要长度检查。事实上,当我尝试使用以色列国家代码时,它显示有效。也许你可以查一下电话号码getPhoneType
似乎返回UAN。所以这个2222是UAN。但普及电话号码也可能更长。从技术上讲,这似乎是一个有效的数字。因此,您可以检查电话号码类型或您自己的最小长度。圣赫勒拿更改为5位数字(不包括国家代码)-根据,纽埃岛只有7位数字,包括国家代码。