繁体   English   中英

通过国家/地区代码检查手机号码是否有效

[英]check mobile number valid or not through country code

我有联系方式,如“+919672525253”。现在,我从该号码中提取国家代码,如“91”。现在,如果数字像“9672525253”,如果我提取国家代码,那么它将给我“967”。所以提取后国家/地区代码如何检查剩余号码是否为该国家/地区代码的有效手机号码? 编辑

如果任何机构知道国家的移动电话号码长度,那么我也可以解决这个问题。就像在印度10位数。

你几乎不能。 例如,在美国,移动电话号码和固定电话号码无法区分,它们具有正常的区号,就像固定电话号码一样。 即使有可能每个国家都采用不同的方式,它也会不断变化,因为数字耗尽,新的前缀会被添加,而且事情会发生变化,而且它们不是可以匹配的模式,也不是数据库,您可以对其进行查找。

看一下可以帮助验证电话号码的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", ...)

这适用于我们,但您需要尝试它,看它是否适合您的需要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM