Вы не ответили что за белиберда такая ^[0-9]{2}|[0-9]{5}|[0-9]{8}$. Еще можно понять, что некий номер нужно анализировать как группы, для этого получаем две первых цифры и последующие за ними, которых может быть от 5 до 8. Тогда выражение будет
^(\d{2})(\d{5,8})$
а то что у вас, это фиг знает что, ибо оно никак не соответствует номерам представленным.