<?php 
$regexp  =  "/^(\\ +7|8)[0-9]{10}$/ui" ; 
$allNumbers  =  [ 
        $correctNumbers  =  [     '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'  ] , 
        $incorrectNumbers  =  [    '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'  /* нет + */ ] 
] ; 
$matches  =  [ ] ; 
foreach  ( $allNumbers  as  $numbers )  { 
    foreach  ( $numbers  as  $number )  { 
        if  ( preg_match ( $regexp ,  $correctText ,  $matches ) )  {              echo  "Правильный номер: {$matches[0]} <br/>" ; 
        }  else  { 
            echo  "Ошибка! Введите номер формата: +7/8xxxxxxxxxx<br/>" ; 
        } 
    } 
} 
    ?> 
PD9waHAKbWJfaW50ZXJuYWxfZW5jb2RpbmcoInV0Zi04Iik7CiRyZWdleHAgPSAiL14oXFwrN3w4KVswLTldezEwfSQvdWkiOwokYWxsTnVtYmVycyA9IFsKICAgICAgICAkY29ycmVjdE51bWJlcnMgPSBbICAgICc4NDk1MTIzNDU2NycsICAnKzc0OTUxMjM0NTY3JywgJzgtNDk1LTEtMjM0LTU2NycsCiAgICAnIDggKDgxMjIpIDU2LTU2LTU2JywgJzgtOTExLTEyMzQ1NjcnLCAnOCAoOTExKSAxMiAzNDUgNjcnLAogICAgJzgtOTExIDEyIDM0NSA2NycsICc4ICg5MTEpIC0gMTIzIC0gNDUgLSA2NycsICcrIDcgOTk5IDEyMyA0NTY3JywKICAgICc4ICggOTk5ICkgMTIzNDU2NycsICc4IDk5OSAxMjMgNDU2NycgXSwKICAgICAgICAkaW5jb3JyZWN0TnVtYmVycyA9IFsgICAnMDInLCAnODQ5NTEyMzQ1Njcg0L/QvtC30LLQsNGC0Ywg0LvRjtGB0Y4nLCAnODQ5NTEyMzQ1JywgJzg0OTUxMjM0NTY3OCcsCiAgICAgICAgICAgICc4ICg0MDkpIDEyMy0xMjMtMTIzJywgJzc5MDAxMjM0NjcnLCAnNTAwNTAwNTAwMScsICc4ODg4LTg4ODgtODgnLAogICAgICAgICAgICAnODQ5NTFhMjM0NTY3JywgJzg0OTUxMjM0NTZhJywKICAgICAgICAgICAgJysxIDIzNCA1Njc4OTAxJywgLyog0L3QtdCy0LXRgNC90YvQuSDQutC+0LQg0YHRgtGA0LDQvdGLICovCiAgICAgICAgICAgICcrOCAyMzQgNTY3ODkwMScsIC8qINC70LjQsdC+IDgg0LvQuNCx0L4gKzcgKi8KICAgICAgICAgICAgJzcgMjM0IDU2Nzg5MDEnIC8qINC90LXRgiArICovXQpdOwokbWF0Y2hlcyA9IFtdOwpmb3JlYWNoICgkYWxsTnVtYmVycyBhcyAkbnVtYmVycykgewogICAgZm9yZWFjaCAoJG51bWJlcnMgYXMgJG51bWJlcikgewogICAgICAgICRjb3JyZWN0VGV4dCA9IHN0cl9yZXBsYWNlKCIgIiwgIiIsICRudW1iZXIpOwogICAgICAgICRjb3JyZWN0VGV4dCA9IHN0cl9yZXBsYWNlKCItIiwgIiIsICRjb3JyZWN0VGV4dCk7CiAgICAgICAgJGNvcnJlY3RUZXh0ID0gc3RyX3JlcGxhY2UoIigiLCAiIiwgJGNvcnJlY3RUZXh0KTsKICAgICAgICAkY29ycmVjdFRleHQgPSBzdHJfcmVwbGFjZSgiKSIsICIiLCAkY29ycmVjdFRleHQpOwogICAgICAgIGlmIChwcmVnX21hdGNoKCRyZWdleHAsICRjb3JyZWN0VGV4dCwgJG1hdGNoZXMpKSB7CiAgICAgICAgICAgIGVjaG8gItCf0YDQsNCy0LjQu9GM0L3Ri9C5INC90L7QvNC10YA6IHskbWF0Y2hlc1swXX08YnIvPiI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZWNobyAi0J7RiNC40LHQutCwISDQktCy0LXQtNC40YLQtSDQvdC+0LzQtdGAINGE0L7RgNC80LDRgtCwOiArNy84eHh4eHh4eHh4eDxici8+IjsKICAgICAgICB9CiAgICB9Cn0KICAgID8+