Bueno amigo
yo le recomiendo las expresiones regulares.
Mire un ejemplo.
Código PHP:
$string = "userNaME4234432_";
if (preg_match('/^[a-z\d_]{4,28}$/i', $string)) {
echo "example 1 successful.";
}else
{
echo "Error";
}
El ejemplo hace lo siguiente.
permitir usuarios de 4 hasta 28 caracteres de longitud, alfanuméricos y permitir guiones bajos.