Hola, lo puedes hacer con expresiones regulares. Algo como:
Código PHP:
if(eregi("^[[:alnum:]]{4,20}$", $texto)) echo "Valido";
else echo "Invalido";
Donde $texto es el contenido a validar.
Otra alternativa con igual funcionamiento pero tal vez mas legible o didáctica sería:
Código PHP:
if(eregi("^[0-9a-z]{4,20}$", $texto)) echo "Valido";
else echo "Invalido";
Saludos!