为什么libphonenumber网站会从libphonenumber库返回不同的结果?

时间:2014-06-10 18:51:08

标签: c# libphonenumber

我正在使用以下链接:

http://libphonenumber.googlecode.com/svn/trunk/javascript/i18n/phonenumbers/demo-compiled.html
  • 电话号码:96596032346
  • 区域代码:KW

链接返回该号码有效。

我在C#中使用库如下:

 PhoneNumberUtil phoneUtil = PhoneNumberUtil.GetInstance();
 phoneNumber = PhoneNumberUtil.Normalize(phoneNumber);
 PhoneNumber nb = phoneUtil.Parse(phoneNumber, regionCode);
 bool isValid = phoneUtil.IsValidNumber(nb);

我传递了相同的参数phoneNumber=96596032346regionCode=KW,但它返回的是该数字无效。

我检查了库的一些更新,但我有最新版本。可能是什么问题?

2 个答案:

答案 0 :(得分:0)

有趣的图书馆。

The website举例说明如何解析/规范来自瑞士的电话号码,但没有显示他们在示例中的任何地方调用Normalize的位置。

String swissNumberStr = "044 668 18 00"
PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
try {
  PhoneNumber swissNumberProto = phoneUtil.parse(swissNumberStr, "CH");
} catch (NumberParseException e) {
  System.err.println("NumberParseException was thrown: " + e.toString());
}

您确定应该在代码中调用Normalize吗?

答案 1 :(得分:0)

我发现c#有一个5.8版本,但这个版本没有在nuget包中更新,所以我下载了dll文件并在项目中实现了...

效果很好:))