<p>I have a system which is using phone numbers as unique identifiers. For this reason, I want to format all phone numbers as they come in using a normalized format. Because I have no control over my source data, I need to parse out these numbers myself and format them before adding them to my DB.</p>

<p>I'm about to write a parser that can read phone numbers in and output a normalized phone format, but before I do I was wondering if anyone knew of any pre-existing libraries I could use to format phone numbers.</p>

<p>If there are no pre-existing libraries out there, what things should I be keeping in mind when creating this feature that may not be obvious?</p>

<p>Although my system is only dealing with US numbers right now, I plan to try to include support for international numbers just in case since there is a chance it will be needed.</p>

<p><strong>Edit</strong> I forgot to mention I'm using C#.NET 2.0.</p>

Just strip out any non-digits, possibly using a RegEx:
```
[^\d]
```
The only exception might be if you want to handle extensions, to distinguish a number without an area code but with a 3 digit extension, or if you need to handle international numbers.