What characters are supported in node name?

That is, what characters could not be contained in the name of chef
node/role/cookbooks?

Thanks
Dikang.