Grazie della risposta, ho provato a cambiare qualcosina e mi va un po meglio

Codice PHP:
function telefono($num){ 
    if(@
eregi("^(0|3)+([0-9]{1,3})+([0-9]{5,8})",trim($num))) {
         return 
true
    }else{ 
         return 
false
    } 

Ho provato ad usare "preg_match" ma mi da errore:
Warning: preg_match() [function.preg-match]: No ending delimiter '^' found...
Sinceramente non l'ho mai usato, ho provato ad inserire ^ alla fine, ma mi restituisce tutto true. Suggerimenti?