<?php

$reg = "/(^[7-8+\\s]{1}[0-9-\\s\\(\\)]{10}[^а-я])/";
$correctNumbers = [
    '02', '84951234567 позвать люсю', '849512345', '849512345678', 
    '8 (409) 123-123-123', '7900123467', '5005005001', '8888-8888-88',
    '84951a234567', '8495123456a', 
    '+1 234 5678901', /* неверный код страны */
    '+8 234 5678901', /* либо 8 либо +7 */
    '7 234 5678901',
     /* нет + */
     '84951234567',  '+74951234567', '8-495-1-234-567', 
     ' 8 (8122) 56-56-56', '8-911-1234567', '8 (911) 12 345 67', 
     '8-911 12 345 67', '8 (911) - 123 - 45 - 67', '+ 7 999 123 4567', 
     '8 ( 999 ) 1234567', '8 999 123 4567'
];
 
foreach ($correctNumbers as $check) {
    
    $match = [];
    if (preg_match($reg, $check, $match)) {
        echo "ok {$match[0]} <br> ";
    }
    else { 
        echo "<br>";
    }
}