So, I am a bit confused about the question here, but I'll give it a shot and hopefully it gets you to where you need to be.
This will allow anything containing the specified characters. (303)123-4567 will be allowed. As will 32084248())(21324234--234242-23- (clearly not a phone number)
if( preg_match("/^[0-9() -]+$/", $number) {
// Only numbers, parens and hypens allowed
}
If you want to make the regex a bit more strict, we can limit to US-style numbers:
if( preg_match("/^\d{0,3}-?(?:\(\d{3}\)|\d{3})-?\d{3}-?\d{4}$/", $number) {
// US Phone number
}
This will only allow US style numbers with an optional country code.