Вы можете проверить, содержит ли строка какой-либо символ из данного набора символов, с помощью strcspn .
Редактировать: в соответствии с рекомендациями Inshalla и maykeye, strspn, wcsspn может быть более подходящим для вашей задачи.
Вы бы использовали strspn
примерно так:
#define LEGAL_CHARS "ABCDEFGHIJLKMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
if (strspn(str, LEGAL_CHARS) < strlen(str))
{
/* String is not legal */