5

是否有一种简单的方法可以检查用户输入的电话号码是否包含国家代码并验证该号码是否正确?我不使用任何特定格式,数字本身必须只有数字,没有 ('s、-'s 等。这样的验证是否可以在不询问用户国家的情况下进行?诀窍是我想与所有全世界的数字。

我想它不能用正则表达式来完成(谷歌搜索了一下,发现了很多东西,但不是为了这个问题)。有没有图书馆?我正在使用python。

或者也许强制执行格式更有意义,例如 X-YYYYYYYY... 其中 X 将是国家代码,或类似的东西?

4

3 回答 3

4

这是谷歌处理电话号码的库(它是用 Java 编写的)。但是,由于 Google 也是一家 Python 商店,我想他们可能在某个地方提供 Python 版本,或者您可以提取您需要的内容并进行翻译。

于 2010-06-26T18:37:01.770 回答
2

像 247 8000 这样的数字可能是:

  • 本地号码 247 8000 在未指定国家/地区的未指定区域,可能是 +1 212 247 8000
  • 未指定国家/地区的 247 区​​号中的本地号码 8000,可能是 +269 247 8000
  • 247国家代码中的本地号码8000,如+247 8000

没有进一步的上下文是不可能说的。

+ 符号对于识别国家代码部分至关重要。

于 2011-09-29T06:48:50.160 回答
1

我研究了一段时间。我们有一个庞大的数字数据库,没有人知道他们是否有国家代码。一般的答案是:不可能找出来。我们有一些号码是没有国家代码 (1) 的有效美国号码,还有一些其他国家的有效号码有区号。但是对于 99% 的情况,您可以检查数字的长度是否为 9,那么就没有 contry 代码。您应该强制用户输入国家代码。

于 2010-06-26T18:33:04.510 回答