Ciao.
Prova questa:
Codice PHP:
<?php
function validate($fieldName,$fieldValue)
{
    
$isValid TRUE;
    
$trimed_string trim($fieldValue);
    
//{2,16} da 2 fino a 16 caratteri
    
$isValid preg_match('/^[a-z0-9\-_]{2,16}$/',$trimed_string);
    
settype($isValid,"bool");
    if (!
$isValid)
    {
            echo  
$fieldName.' is not formated Correctly ';
    }
    return 
$isValid;
}
var_dump(validate("test","pippo_-pippo"));//TRUE
echo "
"
;
var_dump(validate("test","pippo'-pippo"));//FALSE
?>