node?NPM庫string-random生成隨機字符串學習使用
NPM酷庫
了解一個流行NPM庫。
昨天,我們了解了如何使用uuid庫快速生成UUID,UUID適用于分布式應用中ID的生成,因為UUID足夠長,所以碰撞幾率非常低。
此外,我們在很多時候不需要生成像UUID那么長的字符串,而是需要能夠快速生成一個隨機的復雜字符串,可能同時包含大小寫字母、數(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'); // 1001001001100101
random(length, options)
函數(shù)的第一個參數(shù)length為要生成的字符串長度,第二個參數(shù)是選項:
- options 為true,生成包含字母、數(shù)字和特殊字符的字符串
- options 為字符串,從options字符串中提供的字符生成隨機結果
- options 為對象
options 對象
options.letters
- true (默認) 允許大小寫字母
- false 不允許大小寫字母
- string 從提供的字符生成隨機結果
options.numbers
- true (默認) 允許數(shù)字
- false 不允許數(shù)字
- string 從提供的字符生成隨機結果
options.specials
- true 允許特殊字符
- false (默認) 不允許特殊字符
- string 從提供的字符生成隨機結果
參考資料
https://github.com/maichong/s...
以上就是node NPM庫string-random生成隨機字符串學習使用的詳細內(nèi)容,更多關于node NPM庫string random的資料請關注腳本之家其它相關文章!
相關文章
nodejs子進程child_process和cluster模塊深入解析
本文從node的單線程單進程的理解觸發(fā),介紹了child_process模塊和cluster模塊,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-09-09windows使用nvm對node進行版本管理切換的完整步驟
這篇文章主要介紹了windows使用nvm對node進行版本管理切換的完整步驟,在使用之前各位務必卸載掉自己安裝過的nvm或者node版本包括環(huán)境變量之類的,要保證自己的電腦完全沒有node環(huán)境,需要的朋友可以參考下2024-03-033分鐘快速搭建nodejs本地服務器方法運行測試html/js
本篇文章主要介紹了3分鐘快速搭建nodejs本地服務器方法運行測試html/js,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-04-04