Самым простым способом было бы убрать из вашей строки все, что не является числом, а затем посмотреть, не окажется ли у вас 10-значное число (или 11, если вы делаете 1 обязательным):
$string = "1-(999)-999-9999";
$number = preg_replace('/[^0-9]/', "", $string); // results in 19999999999
if (strlen($number) == 11)
{
// Probably have a phone number
}