2010-09-07 5 views

risposta

1

Si potrebbe iniziare con Advanced Phone Number Type Implementation su CodeProject. A prima vista, sembra che possano mancare i pezzi di internazionalizzazione trovati nella libreria Ruby a cui si fa riferimento.

Ovviamente, è sempre possibile iniziare con una libreria esistente e aggiungervi e, a seconda della licenza della libreria originale, si potrebbe anche scegliere di rilasciare la propria che ha esattamente ciò di cui si ha bisogno.

+0

Buona ricerca; questo sembra promettente! – DanP

+0

Anche se questo sembra un buon punto di partenza, il supporto numerico internazionale è un requisito probabile qui; se qualcuno ha suggerimenti aggiuntivi, sarei molto interessato. – DanP

+1

@DanP a quanto pare non sei l'unico a cercare di risolvere questo problema. Dai un'occhiata a: http://stackoverflow.com/questions/501368/phone-number-format-and-validation-library. –

0

Hai considerato di prendere la libreria Ruby a cui fai riferimento e portarla su IronRuby, che gira su .NET DLR? Non ho mai usato IronRuby in precedenza, ma dal momento che è un linguaggio .NET, potresti essere in grado di trasferire semplicemente il codice ed esporre e un'interfaccia fortemente tipizzata che può essere meglio consumata in VB.NET o C#.

+0

Avevo preso in considerazione anche questa opzione: mi sembra un po 'eccessivo per l'analisi del numero di telefono. – DanP

7

Vorrei andare con la porta C# della libreria libphonenumber di Google.

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

+0

Grazie per la risposta; questo sembra molto promettente. – DanP

+0

Questa porta non viene più gestita. Il sito dice: "2013-08-07 - QUESTO PORT NON È PIÙ MANTENUTO, SENTIRSI GRATUITAMENTE PER FORNIRE QUESTO REPOSITARIO E TENERE CON GLI UPDATE DI UPSTREAM.". Inoltre, la porta non è mai stata completata (ma questo potrebbe non essere un problema se stai usando solo parti specifiche di esso). – RobIII

4

io consiglierei di andare con libphonenumber da parte di Google, ecco una blog post on how to use libphonenumber.

Analisi numeri è facile come installare il NuGet package e poi fare questo:

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

Questa porta non viene più gestita. Il sito dice: "2013-08-07 - QUESTO PORT NON È PIÙ MANTENUTO, SENTIRSI GRATUITAMENTE PER FORNIRE QUESTO REPOSITARIO E TENERE CON GLI UPDATE DI UPSTREAM.". Inoltre, la porta non è mai stata completata (ma questo potrebbe non essere un problema se stai usando solo parti specifiche di esso). – RobIII