2010-09-07 23 views
7

Có ai biết thư viện phân tích cú pháp số điện thoại chung cho .NET không? Lý tưởng nhất là tôi đang tìm một cái gì đó tương tự với thư viện Ruby Phone..NET Phone Number Parsing Library

Trả lời

1

Bạn có thể bắt đầu với Advanced Phone Number Type Implementation trên CodeProject. Thoạt nhìn, có vẻ như nó thiếu các phần quốc tế hóa trong thư viện Ruby mà bạn đã tham chiếu. Tất nhiên, bạn luôn có thể bắt đầu với một thư viện hiện có và thêm vào nó, và tùy thuộc vào giấy phép của thư viện gốc, thậm chí bạn có thể chọn tự mình phát hành chính xác những gì bạn cần.

+0

Tìm tốt; điều này có vẻ đầy hứa hẹn! – DanP

+0

Trong khi điều này có vẻ như là một điểm khởi đầu tốt, hỗ trợ số quốc tế là một yêu cầu có khả năng ở đây; nếu có ai có bất cứ đề nghị bổ sung - tôi sẽ rất quan tâm. – DanP

+1

@DanP dường như bạn không phải là người duy nhất tìm cách giải quyết vấn đề này. Hãy xem: http://stackoverflow.com/questions/501368/phone-number-format-and-validation-library. –

0

Bạn đã cân nhắc việc sử dụng thư viện Ruby mà bạn đã tham chiếu và chuyển nó sang IronRuby, chạy trên .NET DLR chưa? Tôi đã không sử dụng IronRuby trước đây, nhưng vì nó là một ngôn ngữ .NET, bạn có thể chỉ đơn giản là cổng mã trên và lộ ra và gõ mạnh giao diện có thể được tiêu thụ tốt hơn trong VB.NET hoặc C#.

+0

Tôi đã xem xét tùy chọn này - chỉ có vẻ như một chút quá mức cần thiết cho phân tích cú pháp số điện thoại. – DanP

7

Tôi sẽ đi với cổng C# của thư viện libphonenumber của Google.

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

+0

Cảm ơn câu trả lời của bạn; điều này có vẻ rất hứa hẹn. – DanP

+0

Cổng này không còn được duy trì. Trang web cho biết: "2013-08-07 - CẢNH BÁO NÀY KHÔNG CÀI ĐẶT, THÊM MIỄN PHÍ ĐỂ TẮT LẠI NÀY VÀ GIỮ LÊN CẬP NHẬT UPSTREAM". Ngoài ra, các cổng chưa bao giờ được hoàn thành (nhưng đó có thể không phải là một vấn đề nếu bạn chỉ sử dụng các phần cụ thể của nó). – RobIII

4

tôi khuyên bạn nên đi với libphonenumber từ Google, đây là một blog post on how to use libphonenumber.

Phân tích số là dễ dàng như việc cài đặt NuGet package và sau đó làm điều này:

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

Cổng này không còn được duy trì. Trang web cho biết: "2013-08-07 - CẢNH BÁO NÀY KHÔNG CÀI ĐẶT, THÊM MIỄN PHÍ ĐỂ TẮT LẠI NÀY VÀ GIỮ LÊN CẬP NHẬT UPSTREAM". Ngoài ra, các cổng chưa bao giờ được hoàn thành (nhưng đó có thể không phải là một vấn đề nếu bạn chỉ sử dụng các phần cụ thể của nó). – RobIII