6

这是对这里问题的扩展。现在我引用CommonsWare

没有可靠的方法来以编程方式检索设备的手机号码。我能想到的唯一选择是让用户输入电话号码。

我的问题是如何检查用户输入的电话号码是否正确,以及我现在想不出的更多可能性:

  1. 用户输入的号码与下载应用程序的设备相同。
  2. 用户在输入号码时没有出现任何印刷错误
  3. 用户未输入任何本地呼叫代码,例如前导 0

我已经在 StackOverflow 和 web 上花费了足够的时间,这不是一个重复的问题。

我将不胜感激任何帮助、线索或建议。

4

3 回答 3

1

如果您愿意花一些用户钱,您可以向自己发送一条短信(用户输入的号码)并检查它是否到达。

如果是,则数字是正确的。如果不是...要么您没有网络,要么号码不正确。

根据我对移动运营商的经验,我什至不认为手机具有号码可见性,只有在他们身边,他们才有这种可见性。

于 2012-05-08T15:46:50.420 回答
1

1.用户输入的号码与下载该应用程序的设备相同。

这又是一种无法测试的东西,否则@neteinstein 提到的 Tricky 方式


2.用户在输入号码时没有任何印刷错误

3.用户没有输入任何像前导0这样的本地调用代码

我想你仍然不知道谷歌的这个,用于解析/格式化/验证世界所有国家/地区的电话号码。

使用它,您可以实现其他 2 个解决方案。我认为。


链接:http ://code.google.com/p/libphonenumber/

于 2012-05-09T07:40:05.457 回答
0

虽然我不知道 nr1,但我认为您可以通过分析字符串中的数字来很容易地解决问题 nr 2 和 3。这样您就可以轻松检查它包含哪些字符以及这些字符的位置。我希望这有帮助。

问候,沃塔

于 2012-05-08T07:23:26.177 回答