NPM酷库:string-random,生成随机字符串

NPM酷库,每天两分钟,了解一个流行NPM库。

昨天,我们了解了如何使用uuid库快速生成UUID,UUID适用于分布式应用中ID的生成,因为UUID足够长,所以碰撞几率非常低。

此外,我们在很多时候不需要生成像UUID那么长的字符串,而是需要能够快速生成一个随机的复杂字符串,可能同时包含大小写字母、数字、特殊符号等。

string-random

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 为true,生成包含字母、数字和特殊字符的字符串
  • options 为字符串,从options字符串中提供的字符生成随机结果
  • options 为对象

options 对象:

  • options.letters

    • true (默认) 允许大小写字母
    • false 不允许大小写字母
    • string 从提供的字符生成随机结果
  • options.numbers

    • true (默认) 允许数字
    • false 不允许数字
    • string 从提供的字符生成随机结果
  • options.specials

    • true 允许特殊字符
    • false (默认) 不允许特殊字符
    • string 从提供的字符生成随机结果

参考资料

https://github.com/maichong/s...

欢迎关注公众号:梁兴臣

梁兴臣

每天了解一个NPM库,一年后成为Node.js高手

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值