成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

NPM酷庫:string-random,生成隨機(jī)字符串

weakish / 1872人閱讀

摘要:只提供了用于生成隨機(jī)數(shù)字,但是并未提供生成字符串的函數(shù),要自己寫生成隨機(jī)字符串邏輯需要費(fèi)一番周折。庫專門用于快速生成隨機(jī)字符串,并且可以根據(jù)需求制定字符串長度以及包含的字符。

NPM酷庫,每天兩分鐘,了解一個(gè)流行NPM庫。

昨天,我們了解了如何使用uuid庫快速生成UUID,UUID適用于分布式應(yīng)用中ID的生成,因?yàn)閁UID足夠長,所以碰撞幾率非常低。

此外,我們在很多時(shí)候不需要生成像UUID那么長的字符串,而是需要能夠快速生成一個(gè)隨機(jī)的復(fù)雜字符串,可能同時(shí)包含大小寫字母、數(shù)字、特殊符號(hào)等。

string-random

JS Core只提供了Math.random() 用于生成隨機(jī)數(shù)字,但是并未提供生成字符串的函數(shù),要自己寫生成隨機(jī)字符串邏輯需要費(fèi)一番周折。string-random庫專門用于快速生成隨機(jī)字符串,并且可以根據(jù)需求制定字符串長度以及包含的字符。

const stringRandom = require("string-random");

// 生成長度為8,包含大小寫字母和數(shù)字的隨機(jī)字符串
random(); // oSjAbc02

// 生成長度為16,包含大小寫字母和數(shù)字的隨機(jī)字符串
random(16); // d9oq0A3vooaDod8X

// 包含大小寫字母的隨機(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"); // 1001001001100101

random(length, options) 函數(shù)的第一個(gè)參數(shù)length為要生成的字符串長度,第二個(gè)參數(shù)是選項(xiàng):

options 為true,生成包含字母、數(shù)字和特殊字符的字符串

options 為字符串,從options字符串中提供的字符生成隨機(jī)結(jié)果

options 為對(duì)象

options 對(duì)象:

options.letters

true (默認(rèn)) 允許大小寫字母

false 不允許大小寫字母

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...

歡迎關(guān)注公眾號(hào):梁興臣

每天了解一個(gè)NPM庫,一年后成為Node.js高手

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/92584.html

相關(guān)文章

  • NPM酷庫:number-random,生成隨機(jī)數(shù)字

    摘要:庫就可以方便地生成指定范圍的隨機(jī)數(shù)字,并且支持指定生成整數(shù)或是小數(shù)。 NPM酷庫,每天兩分鐘,了解一個(gè)流行NPM庫。 昨天,我們了解到 string-random 庫可以用來快速生成指定格式的隨機(jī)字符串,今天我們繼續(xù)學(xué)習(xí)如何生成隨機(jī)的數(shù)字。 其實(shí)只需要 Math.random()就可以生成一個(gè)隨機(jī)數(shù)字,但是這個(gè)數(shù)字大小是0~1,如果我們需要生成一個(gè)指定范圍的隨機(jī)數(shù)字,那么就需要進(jìn)一步的...

    wind5o 評(píng)論0 收藏0
  • NPM酷庫:uuid,生成隨機(jī)ID

    摘要:酷庫,每天兩分鐘,了解一個(gè)流行庫。我們直接提供的生成器函數(shù),就可以生成一串,由于足夠長,碰撞幾率非常低,所以可以廣泛運(yùn)用在分布式環(huán)境中的各個(gè)子系統(tǒng)。 NPM酷庫,每天兩分鐘,了解一個(gè)流行NPM庫。 在中心化應(yīng)用中,數(shù)據(jù)記錄的ID往往是數(shù)據(jù)庫生成的自增ID,但是在分布式應(yīng)用中,就會(huì)存在一些問題: 保存數(shù)據(jù)之前就需要給數(shù)據(jù)標(biāo)識(shí)ID 數(shù)據(jù)規(guī)模超級(jí)大,中央數(shù)據(jù)庫無法滿足性能需求 UUID ...

    Michael_Ding 評(píng)論0 收藏0
  • NPM酷庫042:ajv,JSON 模式驗(yàn)證

    摘要:酷庫,每天兩分鐘,了解一個(gè)流行庫。比如需要滿足那些屬性,每個(gè)屬性都是什么類型的,這些條件稱之為數(shù)據(jù)模式驗(yàn)證。在對(duì)數(shù)據(jù)的模式驗(yàn)證領(lǐng)域有專門的標(biāo)準(zhǔn),叫做。就是按照標(biāo)準(zhǔn)聲明一個(gè)模式對(duì)象,然后使用模式驗(yàn)證工具去驗(yàn)證目標(biāo)數(shù)據(jù)。 NPM酷庫,每天兩分鐘,了解一個(gè)流行NPM庫?!?在NPM酷庫041中,我們學(xué)習(xí)了如何用validator庫來驗(yàn)證字符串是否是Email、URL等,在開發(fā)中,除了字符串,...

    lavnFan 評(píng)論0 收藏0
  • NPM酷庫050:xmlbuilder,創(chuàng)建XML文件

    摘要:酷庫,每天兩分鐘,了解一個(gè)流行庫。在前幾期酷庫中,我們介紹了操作等數(shù)據(jù)格式文件,在外部系統(tǒng)接口中,我們還會(huì)經(jīng)常遇到格式的接口協(xié)議。本期,我們先來了解,用來創(chuàng)建格式文檔。 NPM酷庫,每天兩分鐘,了解一個(gè)流行NPM庫?!?在前幾期NPM酷庫中,我們介紹了Node.js操作JSON5、YAML、CSON、CSV等數(shù)據(jù)格式文件,在外部系統(tǒng)接口中,我們還會(huì)經(jīng)常遇到XML格式的接口協(xié)議。從本期開...

    baukh789 評(píng)論0 收藏0
  • NPM酷庫050:xmlbuilder,創(chuàng)建XML文件

    摘要:酷庫,每天兩分鐘,了解一個(gè)流行庫。在前幾期酷庫中,我們介紹了操作等數(shù)據(jù)格式文件,在外部系統(tǒng)接口中,我們還會(huì)經(jīng)常遇到格式的接口協(xié)議。本期,我們先來了解,用來創(chuàng)建格式文檔。 NPM酷庫,每天兩分鐘,了解一個(gè)流行NPM庫。· 在前幾期NPM酷庫中,我們介紹了Node.js操作JSON5、YAML、CSON、CSV等數(shù)據(jù)格式文件,在外部系統(tǒng)接口中,我們還會(huì)經(jīng)常遇到XML格式的接口協(xié)議。從本期開...

    taoszu 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<