For something like a phone number, I prefer not to force the user to input a specific format, but let them enter it with parens, dashes, and or spaces if they want, then strip out the non-numeric characters before storing it:
$phone = preg_replace('/\D/', '', $phone_home);
Now if you want, you can validate $phone to see if it's an empty string, if it has some exact number of digits, or a number of digits between x and y, etc.; but you'll know it contains only digits (or is blank) at this point.