Как проверить номер телефона на соответствие формату?

На StackOverflow был найден следующий трюк:

function validatePhoneNumber($number){
    $formats = array(
        '###-###-####', '####-###-###',
        '(###) ###-###','####-####-####',
        '##-###-####-####','####-####','###-###-###',
        '#####-###-###', '##########', '#########',
        '# ### #####', '#-### #####'
    );

    $format = trim(preg_replace('/[0-9]/', '#', $number));
    return in_array($format, $formats);
}

Просто перечисляем в $formats нужные нам форматы и наслаждаемся результатом.