node?NPM庫(kù)string-random生成隨機(jī)字符串學(xué)習(xí)使用
NPM酷庫(kù)
了解一個(gè)流行NPM庫(kù)。
昨天,我們了解了如何使用uuid庫(kù)快速生成UUID,UUID適用于分布式應(yīng)用中ID的生成,因?yàn)閁UID足夠長(zhǎng),所以碰撞幾率非常低。
此外,我們?cè)诤芏鄷r(shí)候不需要生成像UUID那么長(zhǎng)的字符串,而是需要能夠快速生成一個(gè)隨機(jī)的復(fù)雜字符串,可能同時(shí)包含大小寫(xiě)字母、數(shù)字、特殊符號(hào)等。
string-random
JS Core只提供了Math.random() 用于生成隨機(jī)數(shù)字,但是并未提供生成字符串的函數(shù),要自己寫(xiě)生成隨機(jī)字符串邏輯需要費(fèi)一番周折。string-random庫(kù)專門(mén)用于快速生成隨機(jī)字符串,并且可以根據(jù)需求制定字符串長(zhǎng)度以及包含的字符。
const stringRandom = require('string-random');
// 生成長(zhǎng)度為8,包含大小寫(xiě)字母和數(shù)字的隨機(jī)字符串
random(); // oSjAbc02
// 生成長(zhǎng)度為16,包含大小寫(xiě)字母和數(shù)字的隨機(jī)字符串
random(16); // d9oq0A3vooaDod8X
// 包含大小寫(xiě)字母的隨機(jī)字符串(不包含數(shù)字)
random(16, {numbers: false}); // AgfPTKheCgMvwNqX
// 包含數(shù)字的隨機(jī)字符串(不包含字母)
random(16, {letters: false}); // 0889014544916637
// 包含制定字母和數(shù)字的隨機(jī)字符串
random(16, {letters: 'ABCDEFG'}); // 055B1627E43GA7D8
// 包含特殊字符
random(16, {specials: true}); // ,o=8l{iay>AOegW[
random(16, true); // SMm,EjETKMldIM/J
// 指定字符
random(16, '01'); // 1001001001100101random(length, options) 函數(shù)的第一個(gè)參數(shù)length為要生成的字符串長(zhǎng)度,第二個(gè)參數(shù)是選項(xiàng):
- options 為true,生成包含字母、數(shù)字和特殊字符的字符串
- options 為字符串,從options字符串中提供的字符生成隨機(jī)結(jié)果
- options 為對(duì)象
options 對(duì)象
options.letters
- true (默認(rèn)) 允許大小寫(xiě)字母
- false 不允許大小寫(xiě)字母
- string 從提供的字符生成隨機(jī)結(jié)果
options.numbers
- true (默認(rèn)) 允許數(shù)字
- false 不允許數(shù)字
- string 從提供的字符生成隨機(jī)結(jié)果
options.specials
- true 允許特殊字符
- false (默認(rèn)) 不允許特殊字符
- string 從提供的字符生成隨機(jī)結(jié)果
參考資料
https://github.com/maichong/s...
以上就是node NPM庫(kù)string-random生成隨機(jī)字符串學(xué)習(xí)使用的詳細(xì)內(nèi)容,更多關(guān)于node NPM庫(kù)string random的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Nodejs回調(diào)加超時(shí)限制兩種實(shí)現(xiàn)方法
這篇文章主要介紹了Nodejs回調(diào)加超時(shí)限制兩種實(shí)現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下2017-06-06
在 macOS 上使用 Homebrew 安裝 Node.js&nbs
本文介紹了使用Homebrew在macOS上安裝、驗(yàn)證、升級(jí)、切換和卸載Node.js的方法,包括安裝最新穩(wěn)定版、安裝特定版本、配置環(huán)境變量、使用n或nvm管理多個(gè)版本等內(nèi)容,感興趣的朋友跟隨小編一起看看吧2026-04-04
Node.js視頻流應(yīng)用創(chuàng)建之后端的全過(guò)程
這篇文章主要給大家介紹了關(guān)于創(chuàng)建Node.js視頻流應(yīng)用之后端的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-03-03

