This will help you catch the ones with an area code in parentheses
([0-9]\{3\})[ .-][0-9]\{3\}[ .-][0-9]\{4\}
The others are:
[0-9]\{3\}[ -][0-9]\{3\}[ -][0-9]\{4\}
[0-9]\{10\}
I separated the first one and the second one because putting them together without backtracking could get you into accepting (123 456 7890 or 123) 456 7890
Note also that on my terminal using grep, I had to escape the { } for the repetition. You may not have to, or you may have to escape other characters depending on where you intend to use this.