In javascript puoi usare la seguente funzione:

function char_da_escludere(stringa)
{
var check = /^[/_\?&]+$/;

return (!check.test(stringa));
}

ritorna vero se vi sono i caratteri da escludere, falso altrimenti.

Forse in php l'equivalente sarebbe:

if (preg_match("/^[/_\?&]+$/", $stringa))
{
echo "La stringa contiene caratteri non validi";
}
else
{
echo "La stringa è OK";
}


Un dubbio che ho è se ci vuole lo \ davanti al simobolo &, sinceramente non ricordo, al limite fai delle prove.

Ciao.