Grazie Marketto, nulla da fare, le ho provate tutte, ho visto anche su phpbuilder, tramite il quale ero arrivato alle conclusioni che ti riporto. L'unica che mi soddisfa fino ad ora è questa:

codice:
else if (!eregi("(^[a-z]+)*([0-9])$", $nome_utente)){
il problema che questa funziona male non riesco a trovare la giusta combinazione... cioè il risultato è "123pippo" mi da errore "pippo123" mi funziona quindi va bene se inserisco "123450" lo prende e non va bene, questa esclude anche i caratteri speciali.
Le regole sono quelle standard di una registrazione utente normale, quindi esclusione inserimento caratteri speciali, il nome deve iniziare per lettera ma può finire anche per numero... almeno 4 le prime lettere.

la funzione che mi hai postato tu va bene ma funziona al contrario di come mi serve...