Se non erro, tutti i dati passati da un form arrivano già sotto forma di stringa.
Quello che farei io è eliminare tutti i caratteri che non siano numeri, e dopo controllerei la lunghezza della stringa rimanente
Codice PHP:
$tel preg_replace("/\D/","",$_POST['tel']);  /*toglie tutti i caratteri che non siano numeri*/
...
else if(
strlen($tel)<10
 echo 
"[b]\"$tel\"[/b] non è un numero di telefono valido"
Per essere più sicuri però subito dopo proverei a telefonare :P ciao!