Regular expression to filter out US phone numbers

My recent work on IE8+ plugin development needed me to filter out any US phone numbers present in a webpage. Filtering process could be done in many ways, now the problem is, although there is a particular phone number format for writting down the phone numbers but its very less followed. So in order to handle these problems I did that by using a regular expression.
In general the phone numbers are of 10 digits and can have a blank space, a hypen(-) , a dot (.) or nothing in between them. The first three numbers can be within open and closing braces. The bellow given regular expression’s is cappable of handling all possible combinations.

(?([0-9]{3}))?[-. ]?([0-9]{3})[-. ]?([0-9]{4})

For example the combinations may be, 1234567890, 123-456-7890, 123.456.7890, 123 456 7890, (123) 456 7890, (123) 456-7890, (123)-456-7890, (123) 456.7890, (123).456.7890, (123)-456.7890, (123).456-7890

Now the numbers may be preceded with the international code of +1 or may not be, this will handle that with all previous possible combinations,

(?:+?1[-. ]?)?(?([0-9]{3}))?[-. ]?([0-9]{3})[-. ]?([0-9]{4})

Hope this helps you, in some way. Happy Programming

150 150 Burnignorance | Where Minds Meet And Sparks Fly!