/^(()?\d{3}())?(-|\s)?\d{3}(-|\s)?\d{4}$/
Символ ? означает, что предыдущая группа должна совпадать с нулем или один раз. Группа (-|\s) будет соответствовать символу - или |.
?
(-|\s)
-
|