Регулярное выражение для соответствия 7-12 цифрам; может содержать пробел или дефис

Я уже некоторое время пытаюсь решить проблему с регулярными выражениями в PHP, но просто не могу этого сделать. Мне нужно написать регулярное выражение, которое будет соответствовать от 7 до 12 цифр (0..9), и может быть либо один дефис или один пробел между соседними цифрами. Это то, что я до сих пор ...

$match1 = preg_match('/^\d[0-9\-\s]{5,10}\d$/', $number);
$match2 = preg_match('/(-\s|\s-|--|\s\s)/', $number);

Как видите, мне нужно использовать две разные проверки, но мне все равно этого недостаточно, поскольку я могу ввести эту строку: "1-2-3-4-5msgstr "и он все равно пройдет, потому что в общей сложности 9 символов, но он не должен работать, потому что есть только 5 цифр.

Любая помощь по этому вопросу будет здорово, спасибо!

Ответы на вопрос(4)

Ваш ответ на вопрос