NPM酷库,天天两分钟,了解一个流行NPM库。git
昨天,咱们了解了如何使用uuid库快速生成UUID,UUID适用于分布式应用中ID的生成,由于UUID足够长,因此碰撞概率很是低。github
此外,咱们在不少时候不须要生成像UUID那么长的字符串,而是须要可以快速生成一个随机的复杂字符串,可能同时包含大小写字母、数字、特殊符号等。dom
JS Core只提供了Math.random()
用于生成随机数字,可是并未提供生成字符串的函数,要本身写生成随机字符串逻辑须要费一番周折。string-random库专门用于快速生成随机字符串,而且能够根据需求制定字符串长度以及包含的字符。分布式
const stringRandom = require('string-random'); // 生成长度为8,包含大小写字母和数字的随机字符串 random(); // oSjAbc02 // 生成长度为16,包含大小写字母和数字的随机字符串 random(16); // d9oq0A3vooaDod8X // 包含大小写字母的随机字符串(不包含数字) random(16, {numbers: false}); // AgfPTKheCgMvwNqX // 包含数字的随机字符串(不包含字母) random(16, {letters: false}); // 0889014544916637 // 包含制定字母和数字的随机字符串 random(16, {letters: 'ABCDEFG'}); // 055B1627E43GA7D8 // 包含特殊字符 random(16, {specials: true}); // ,o=8l{iay>AOegW[ random(16, true); // SMm,EjETKMldIM/J // 指定字符 random(16, '01'); // 1001001001100101
random(length, options)
函数的第一个参数length为要生成的字符串长度,第二个参数是选项:函数
options 对象:ui
options.lettersspa
options.numberscode
options.specials对象
https://github.com/maichong/s...ci
天天了解一个NPM库,一年后成为Node.js高手