【JavaScript】JS生成隨機(jī)字符串的多種方法
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
在JS中,生成隨機(jī)字符串是常見(jiàn)的需求。我們可以使用多種方法來(lái)實(shí)現(xiàn)這個(gè)需求,下面介紹幾種常見(jiàn)的方法。 使用Math.random()方法生成隨機(jī)字符串Math.random()方法返回一個(gè)0到1之間的隨機(jī)數(shù)。我們可以使用這個(gè)方法將結(jié)果轉(zhuǎn)換成字符串,然后截取字符串來(lái)生成隨機(jī)字符串。 其中,Math.random()方法返回的是一個(gè)浮點(diǎn)數(shù),我們需要 10 或者 100 等來(lái)擴(kuò)大隨機(jī)數(shù)的范圍。 function generateRandomString(length) { let str = Math.random().toString(36).substring(2, length + 2); return str; } // 生成10個(gè)隨機(jī)字符串 for(let i = 0; i < 10; i++) { console.log(generateRandomString(6)); } 這個(gè)方法的缺點(diǎn)是生成的字符串位數(shù)比較固定,如果要?jiǎng)討B(tài)生成長(zhǎng)度不同的字符串會(huì)比較麻煩。 使用Date對(duì)象生成隨機(jī)字符串我們可以使用Date對(duì)象的valueOf()方法來(lái)獲取當(dāng)前時(shí)間戳,然后轉(zhuǎn)換成字符串。 function generateRandomString(length) { let str = new Date().valueOf().toString(); return str.substring(str.length - length); } // 生成10個(gè)隨機(jī)字符串 for(let i = 0; i < 10; i++) { console.log(generateRandomString(6)); } 這個(gè)方法的缺點(diǎn)是如果多次調(diào)用,可能會(huì)出現(xiàn)重復(fù)的字符串。 使用Crypto API生成隨機(jī)字符串推薦使用Crypto API來(lái)生成隨機(jī)字符串。這個(gè)API是瀏覽器原生支持的安全隨機(jī)數(shù)生成器,可以生成高隨機(jī)性的字符串。 function generateRandomString(length) { let charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; let values = new Uint32Array(length); window.crypto.getRandomValues(values); let str = ''; for (let i = 0; i < length; i++) { str += charset[values[i] % charset.length]; } return str; } // 生成10個(gè)隨機(jī)字符串 for(let i = 0; i < 10; i++) { console.log(generateRandomString(6)); } 這個(gè)方法的優(yōu)點(diǎn)是生成高隨機(jī)性的字符串,同時(shí)可以根據(jù)傳入的長(zhǎng)度動(dòng)態(tài)生成字符串。 該文章在 2024/1/22 14:37:54 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |