2010-09-07 3 views
7

Кто-нибудь знает об общей библиотеке разбора телефонных номеров для .NET? В идеале я ищу что-то похожее на библиотеку Ruby Phone..NET Phone Number Parsing Library

ответ

1

Вы можете начать использовать Advanced Phone Number Type Implementation по телефону CodeProject. На первый взгляд кажется, что в библиотеке Ruby, на которую вы ссылались, может отсутствовать фрагменты интернационализации.

Конечно, вы всегда можете начать с существующей библиотеки и добавить ее к ней, и в зависимости от лицензии исходной библиотеки вы можете даже освободить свою, которая имеет именно то, что вам нужно.

+0

Хорошая находка; это выглядит многообещающе! – DanP

+0

Несмотря на то, что это действительно хорошая отправная точка, здесь требуется поддержка международного номера; если у кого есть какие-то дополнительные предложения - мне было бы очень интересно. – DanP

+1

@ DanP, очевидно, вы не единственный, кто хочет решить эту проблему. Взгляните на: http://stackoverflow.com/questions/501368/phone-number-format-and-validation-library. –

0

Вы считали, что используете библиотеку Ruby, на которую вы ссылаетесь, и переносите ее в IronRuby, которая работает на .NET DLR? Раньше я раньше не использовал IronRuby, но поскольку это язык .NET, вы можете просто переносить код поверх и выставлять и строго типизированный интерфейс, который можно лучше использовать в VB.NET или C#.

+0

Я тоже рассматривал этот вариант - просто кажется, что это слишком много для разбора телефонного номера. – DanP

7

Я бы пошел с C# портом библиотеки libphonenumber Google.

https://bitbucket.org/pmezard/libphonenumber-csharp/wiki/Home

+0

Спасибо за ваш ответ; это выглядит очень многообещающим. – DanP

+0

Этот порт больше не поддерживается. Сайт говорит: «2013-08-07 - ЭТОТ ПОРТ НИКОГДА НЕ ДОЛЖЕН ПОДДЕРЖИВАЕТСЯ, ЧУВСТВУЙТЕ СВОБОДНЫМ ОБРАТИТЬСЯ ЭТОТ РЕПОЗИТОРИЮ И СОХРАНЯТЬ ОБНОВЛЕНИЯ UPSTREAM». Кроме того, порт никогда не был завершен (но это может быть не проблема, если вы используете только определенные его части). – RobIII

4

Я рекомендовал бы идти с libphonenumber от Google, вот blog post on how to use libphonenumber.

Синтаксический номера так же просто, как установка NuGet package, а затем сделать это:

var util = PhoneNumberUtil.GetInstance(); 
var number = util.Parse("555-555-5555", "US"); 
+0

Этот порт больше не поддерживается. Сайт говорит: «2013-08-07 - ЭТОТ ПОРТ НИКОГДА НЕ ДОЛЖЕН ПОДДЕРЖИВАЕТСЯ, ЧУВСТВУЙТЕ СВОБОДНЫМ ОБРАТИТЬСЯ ЭТОТ РЕПОЗИТОРИЮ И СОХРАНЯТЬ ОБНОВЛЕНИЯ UPSTREAM». Кроме того, порт никогда не был завершен (но это может быть не проблема, если вы используете только определенные его части). – RobIII

0

Там в an alternative port of Google's libphonenumber on CodePlex. Он не кажется таким же популярным, как и у другого, но похоже, что он основан на более новой версии библиотеки, и похоже, что он все еще разрабатывается.