No te compliques tanto... el telefono debe tener obligatoriamente 11 numeros, y no sabes si la persona pone guiones, parentesis, asteriscos o letras.... asi que comparar contra todas las posibilidades es imposible... primero filtra todo menos los numeros y luego mide la longitud...
Código PHP:
$temp = preg_replace("/[^0-9]/","",$celno);
if (strlen($temp) != 11)
echo "Correcto";
else
echo "Incorrecto";