NPM酷库,每天两分钟,了解一个流行NPM库。
昨天,我们了解了如何使用uuid库快速生成UUID,UUID适用于分布式应用中ID的生成,因为UUID足够长,所以碰撞几率非常低。
此外,我们在很多时候不需要生成像UUID那么长的字符串,而是需要能够快速生成一个随机的复杂字符串,可能同时包含大小写字母、数字、特殊符号等。
string-random
JS Core只提供了 用于生成随机数字,但是并未提供生成字符串的函数,要自己写生成随机字符串逻辑需要费一番周折。string-random库专门用于快速生成随机字符串,并且可以根据需求制定字符串长度以及包含的字符。
函数的第一个参数length为要生成的字符串长度,第二个参数是选项:
options 为true,生成包含字母、数字和特殊字符的字符串
options 为字符串,从options字符串中提供的字符生成随机结果
options 为对象
options 对象:
options.letters
true (默认) 允许大小写字母
false 不允许大小写字母
string 从提供的字符生成随机结果
options.numbers
true (默认) 允许数字
false 不允许数字
string 从提供的字符生成随机结果
options.specials
true 允许特殊字符
false (默认) 不允许特殊字符
string 从提供的字符生成随机结果
参考资料
https://github.com/maichong/string-random
领取专属 10元无门槛券
私享最新 技术干货