JS實(shí)現(xiàn)隨機(jī)生成字符串(可指定長度)的示例代碼
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 指定生成字符串長度
*/
function getRandomString(len){
let min = 0, max = _charStr.length-1, _str = '';
//判斷是否指定長度,否則默認(rèn)長度為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ī)生成長度為20的字符串 getRandomString(20); //輸出結(jié)果 //dJQ6UoEaEpXXAEBRQDl9
5.結(jié)合上述寫法,可以將其整合到一個(gè)函數(shù)中,來簡化流程
具體如下:
/**
* 隨機(jī)生成字符串
* @param len 指定生成字符串長度
*/
function getRandomString(len){
let _charStr = 'abacdefghjklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789',
min = 0,
max = _charStr.length-1,
_str = ''; //定義隨機(jī)字符串 變量
//判斷是否指定長度,否則默認(rèn)長度為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ī)生成字符串(可指定長度)的示例代碼的文章就介紹到這了,更多相關(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簡單生成由字母數(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)文章
js(jquery)實(shí)現(xiàn)無刷新跳轉(zhuǎn)404頁面不存在效果
有時(shí)候我們希望臨時(shí)讓某個(gè)分類或者多個(gè)文章不能正常訪問,手動(dòng)給html文件改名?或者改后臺(tái)改程序?太麻煩了。用本文的js代碼很容易實(shí)現(xiàn),而且使用得當(dāng)很隱蔽。這篇文章主要介紹了js(jquery)實(shí)現(xiàn)無刷新跳轉(zhuǎn)404頁面不存在效果,需要的朋友可以參考下2023-04-04
JavaScript實(shí)現(xiàn)in-place思想的快速排序方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)in-place思想的快速排序方法的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08
利用函數(shù)的惰性載入提高javascript代碼執(zhí)行效率
在 addEvent 函數(shù)每次調(diào)用的時(shí)候都要走一遍,如果瀏覽器支持其中的一種方法,那么他就會(huì)一直支持了,就沒有必要再進(jìn)行其他分支的檢測(cè)了2014-05-05
JS判斷空對(duì)象的幾個(gè)方法大盤點(diǎn)
在做數(shù)據(jù)交互的時(shí)候,我們經(jīng)常需要判斷數(shù)據(jù)或者對(duì)象是不是為空,避免當(dāng)接口異常時(shí)候前端頁面崩潰,下面這篇文章主要給大家介紹了關(guān)于JS判斷空對(duì)象的幾個(gè)方法,需要的朋友可以參考下2022-02-02
Javascript中JSON數(shù)據(jù)分組優(yōu)化實(shí)踐及JS操作JSON總結(jié)
這篇文章主要介紹了Javascript中JSON數(shù)據(jù)分組優(yōu)化實(shí)踐,文中還對(duì)JS操作JSON的要領(lǐng)做了總結(jié),需要的朋友可以參考下2017-12-12
javascript+mapbar實(shí)現(xiàn)地圖定位
地圖定位 圖吧地圖定位 附j(luò)avascript源碼每行都有注釋2010-04-04
JS動(dòng)態(tài)加載當(dāng)前時(shí)間的方法
這篇文章主要介紹了JS動(dòng)態(tài)加載當(dāng)前時(shí)間的方法,涉及html的onload方法及javascript操作時(shí)間的技巧,需要的朋友可以參考下2015-02-02

