JS實(shí)現(xiàn)隨機(jī)生成字符串(可指定長(zhǎng)度)的示例代碼
1.定義隨機(jī)截取字符串
const _charStr = 'abacdefghjklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789';
2.定義隨機(jī)生成索引函數(shù)
/**
* 隨機(jī)生成索引
* @param min 最小值
* @param max 最大值
* @param i 當(dāng)前獲取位置
*/
function RandomIndex(min, max, i){
let index = Math.floor(Math.random()*(max-min+1)+min),
numStart = _charStr.length - 10;
//如果字符串第一位是數(shù)字,則遞歸重新獲取
if(i==0&&index>=numStart){
index = RandomIndex(min, max, i);
}
//返回最終索引值
return index;
}3.定義隨機(jī)生成字符串函數(shù)
/**
* 隨機(jī)生成字符串
* @param len 指定生成字符串長(zhǎng)度
*/
function getRandomString(len){
let min = 0, max = _charStr.length-1, _str = '';
//判斷是否指定長(zhǎng)度,否則默認(rèn)長(zhǎng)度為15
len = len || 15;
//循環(huán)生成字符串
for(var i = 0, index; i < len; i++){
index = RandomIndex(min, max, i);
_str += _charStr[index];
}
return _str;
}4.調(diào)用
//隨機(jī)生成長(zhǎng)度為20的字符串 getRandomString(20); //輸出結(jié)果 //dJQ6UoEaEpXXAEBRQDl9
5.結(jié)合上述寫法,可以將其整合到一個(gè)函數(shù)中,來(lái)簡(jiǎn)化流程
具體如下:
/**
* 隨機(jī)生成字符串
* @param len 指定生成字符串長(zhǎng)度
*/
function getRandomString(len){
let _charStr = 'abacdefghjklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789',
min = 0,
max = _charStr.length-1,
_str = ''; //定義隨機(jī)字符串 變量
//判斷是否指定長(zhǎng)度,否則默認(rèn)長(zhǎng)度為15
len = len || 15;
//循環(huán)生成字符串
for(var i = 0, index; i < len; i++){
index = (function(randomIndexFunc, i){
return randomIndexFunc(min, max, i, randomIndexFunc);
})(function(min, max, i, _self){
let indexTemp = Math.floor(Math.random()*(max-min+1)+min),
numStart = _charStr.length - 10;
if(i==0&&indexTemp >=numStart){
indexTemp = _self(min, max, i, _self);
}
return indexTemp ;
}, i);
_str += _charStr[index];
}
return _str;
}
//調(diào)用:
getRandomString(30);
//結(jié)果:
//CvoNFNrOa6NECo3bFV8suMokE780NG到此這篇關(guān)于JS實(shí)現(xiàn)隨機(jī)生成字符串(可指定長(zhǎng)度)的示例代碼的文章就介紹到這了,更多相關(guān)JS 隨機(jī)生成字符串內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- js隨機(jī)生成字母數(shù)字組合的字符串 隨機(jī)動(dòng)畫數(shù)字
- JavaScript實(shí)現(xiàn)隨機(jī)產(chǎn)生字符串的方法分享
- Js生成隨機(jī)數(shù)/隨機(jī)字符串的方法小結(jié)【5種方法】
- JS實(shí)現(xiàn)生成由字母與數(shù)字組合的隨機(jī)字符串功能詳解
- JS簡(jiǎn)單生成由字母數(shù)字組合隨機(jī)字符串示例
- javascript創(chuàng)建含數(shù)字字母的隨機(jī)字符串方法總結(jié)
- JavaScript生成隨機(jī)字符串的方法
- javascript自動(dòng)生成包含數(shù)字與字符的隨機(jī)字符串
- JS生成隨機(jī)字符串的多種方法
- js 數(shù)組隨機(jī)字符串(廣告不重復(fù))
- js 按照指定間隔 向字符串中插入隨機(jī)字符串的實(shí)現(xiàn)代碼
相關(guān)文章
javascript 新聞標(biāo)題靜態(tài)分頁(yè)代碼 (無(wú)刷新)
一個(gè)模板,從數(shù)據(jù)庫(kù)取n條記錄,生成靜態(tài)。做單頁(yè)面的靜態(tài)化,索引頁(yè)面是用JS對(duì)數(shù)組進(jìn)行組合的。2010-03-03
TypeScript與JavaScript項(xiàng)目里引入MD5校驗(yàn)和
這篇文章主要介紹了TypeScript與JavaScript項(xiàng)目里引入MD5校驗(yàn)和,MD5校驗(yàn)和可以用于驗(yàn)證網(wǎng)絡(luò)文件傳輸?shù)耐暾砸约胺乐刮募蝗舜鄹?。下文我們就一起?lái)學(xué)習(xí)TypeScript與JavaScript項(xiàng)目里引入MD5校驗(yàn)和_MD5校驗(yàn),需要的朋友可以參考一下2022-02-02
requestAnimationFrame用法優(yōu)化源碼解析
這篇文章主要介紹了requestAnimationFrame用法優(yōu)化源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
JavaScript中的迭代器和可迭代對(duì)象與生成器
這篇文章主要介紹了JavaScript中的迭代器和可迭代對(duì)象與生成器,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09
JS實(shí)現(xiàn)簡(jiǎn)單的鍵盤打字的效果
本文給大家分享的是使用javascript實(shí)現(xiàn)的簡(jiǎn)單的鍵盤打字效果,十分的簡(jiǎn)單實(shí)用,推薦給有需要的小伙伴參考下。2015-04-04
JavaScript中的立即執(zhí)行函數(shù)表達(dá)式介紹
這篇文章主要介紹了JavaScript中的立即執(zhí)行函數(shù)表達(dá)式介紹,本文著重講解了什么是立即調(diào)用函數(shù)表達(dá)式,需要的朋友可以參考下2015-03-03
前端實(shí)現(xiàn)內(nèi)容保護(hù)的幾種有效技術(shù)方案
在數(shù)字化時(shí)代,內(nèi)容保護(hù)成為了許多網(wǎng)站和應(yīng)用的重要需求,無(wú)論是付費(fèi)內(nèi)容、考試系統(tǒng)還是敏感信息展示,開(kāi)發(fā)者都需要采取適當(dāng)措施來(lái)防止內(nèi)容被輕易復(fù)制,本文將詳細(xì)介紹幾種前端實(shí)現(xiàn)內(nèi)容保護(hù)的技術(shù)方案,并分析它們的優(yōu)缺點(diǎn),需要的朋友可以參考下2025-07-07
JavaScript中Promise的簡(jiǎn)單使用及其原理詳解
Promise是ES6最重要的特性之一,今天小編就來(lái)帶大家一起系統(tǒng)且細(xì)致的研究一下Promise的用法以及原理,感興趣的小伙伴可以學(xué)習(xí)一下哦2023-03-03

