>半角英文字3文字と5桁の数字
ここが分からない。
つまり合計8文字になるってことか?
なら
if ( eregi("(^[a-zA-Z0-9]{8}$)",$hoge) && eregi("(^[a-zA-Z]{3}$)",$hoge) )