CyberAP/nanoid-dictionary

Nolookalikes character set without lowercase letters or without uppercase letters

Opened this issue · 4 comments

Dear Maintainers

I am working on a customer support system, which uses NanoID as case reference ID.

When communicating with a customer on telephone, it can be pretty frustrating on confirmation about letter case-sensitivity.

So I guess it might be a good idea to have a Nolookalikes without lowercase / uppercase letters character set.

If you guys agree this sounds good. I can start a pull request for adding this feature.

What do you think?

Hmm, probably might be a good idea just to export toLowercaseAlphabet, toUppercaseAlphabet and toSafeAlphabet functions that strip out unnecessary symbols. I'll give it more thought on how we should handle this because if we add a new alphabet it'd mean that we also should add noLookalikesSafeLowercase and noLookalikesSafeUppercase.

Yes, adding:

  • noLookalikesSafeLowercase
  • noLookalikesSafeUppercase
  • nolookalikesLowercase
  • nolookalikesUppercase

is exactly what I expect.

@CyberAP I agree with you that adding a few functions to strip out unnecessary symbols may be a better idea. Do you want me to initialize a new PR?

P.S.

In my project, I also use the charset "346789ABCDEFGHJKMNPQRTWXY" (no-look-alike, no mater it's lowercase letters or uppercase letters) to create case-insensitive IDs.

I am not sure if it is a good idea to be merged into this project?