我有联系方式,如“+919672525253”。现在,我从该号码中提取国家代码,如“91”。现在如果数字是“9672525253”,如果我提取国家代码,那么它会给我“967”。因此,在提取国家/地区代码后,如何检查剩余号码是否为该国家/地区代码的有效手机号码? 的修改
如果有任何机构知道国家/地区的手机号码长度,那么我也可以解决这个问题。就像在印度10位数。
答案 0 :(得分:3)
你几乎不能。例如,在美国,移动电话号码和固定电话号码无法区分,它们具有正常的区号,就像固定电话号码一样。即使有可能每个国家都采用不同的方式,并且随着数字用完而不断变化,新的前缀会被添加并且事情会发生变化,而且它们不是可以匹配的模式,也不是数据库,您可以对其进行查找。
答案 1 :(得分:1)
查看可以帮助验证电话号码的libPhoneNumber(捆绑在ICS中)(请参阅PhoneNumberUtils)。 验证后可以获得一个MobileType,但是如源和Ben所述,在某些地区,这将不起作用。
修改强>
一些验证码(这里我们需要检查手机是否有效,假设它是法国手机):
boolean isValid = false;
PhoneNumber number = null;
try {
number = this.phoneUtil.parse(phone, "FR"); // phone is number in internationnal format "+xxxxxx"
isValid = this.phoneUtil.isValidNumber(number);
} catch (final NumberParseException e) {
// ...
}
isValid // is the phone number valid according to the library?
this.phoneUtil.getRegionCodeForNumber(number); // this gets the country code of the phone as found by the library (for example "US", "CH", "GB", ...)
这适用于我们,但您需要尝试一下,看看它是否符合您的需求。