Это должно помочь вам начать работу, оно будет соответствовать буквенно-цифровым и специальным символам! @ #% &.и должно быть тривиально добавлять любые специальные символы.
$field = "wtftest#$!@";
$numMatches = preg_match('/^[A-Za-z0-9!@#%$&.]+$/', $field, $matches);
if ($numMatches > 0) {
echo "Matches";
}