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

