php でアルファベットで始まり2桁以上3桁までの英数字か原因を個別にチェックする。
if(eregi('^[^a-z0-9]+$',$str)) echo '英数字ではない';
if(eregi('^[^a-z].*',$str)) echo'アルファベットで始まってない';
if(eregi('^.{0,1}$',$str)) echo '2文字以上ではない';
if(eregi('^.{10,}$',$str)) echo '10文字以内ではない';