Я предпочитаю использовать функции preg_match()
для этого стиля регулярных выражений.
Пример на основе вашего паттерна
$phone = '000-000-0000';
if(preg_match("/^[0-9]{3}-[0-9]{3}-[0-9]{4}$/", $phone)) {
// $phone is valid
}
Для проверки с помощью FILTER_SANITIZE_NUMBER_INT()
попробуйте код ниже
function validate_phone_number($phone)
{
$filtered_phone_number = filter_var($phone, FILTER_SANITIZE_NUMBER_INT);
if (strlen($filtered_phone_number) < 12) {
return false;
} else {
return true;
}
}
Ниже приведено использование только что созданной функции:
$phone = "444-444-5555";
if (validate_phone_number($phone) == true) {
echo "Phone number is valid";
} else {
echo "Invalid phone number";
}