JS實現隨機生成字符串(可指定長度)的示例代碼
更新時間:2023年08月01日 10:09:06 作者:覺醒法師
本文主要介紹了JS實現隨機生成字符串(可指定長度)的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
1.定義隨機截取字符串
const _charStr = 'abacdefghjklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789';
2.定義隨機生成索引函數
/** * 隨機生成索引 * @param min 最小值 * @param max 最大值 * @param i 當前獲取位置 */ function RandomIndex(min, max, i){ let index = Math.floor(Math.random()*(max-min+1)+min), numStart = _charStr.length - 10; //如果字符串第一位是數字,則遞歸重新獲取 if(i==0&&index>=numStart){ index = RandomIndex(min, max, i); } //返回最終索引值 return index; }
3.定義隨機生成字符串函數
/** * 隨機生成字符串 * @param len 指定生成字符串長度 */ function getRandomString(len){ let min = 0, max = _charStr.length-1, _str = ''; //判斷是否指定長度,否則默認長度為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.調用
//隨機生成長度為20的字符串 getRandomString(20); //輸出結果 //dJQ6UoEaEpXXAEBRQDl9
5.結合上述寫法,可以將其整合到一個函數中,來簡化流程
具體如下:
/** * 隨機生成字符串 * @param len 指定生成字符串長度 */ function getRandomString(len){ let _charStr = 'abacdefghjklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789', min = 0, max = _charStr.length-1, _str = ''; //定義隨機字符串 變量 //判斷是否指定長度,否則默認長度為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; } //調用: getRandomString(30); //結果: //CvoNFNrOa6NECo3bFV8suMokE780NG
到此這篇關于JS實現隨機生成字符串(可指定長度)的示例代碼的文章就介紹到這了,更多相關JS 隨機生成字符串內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
利用函數的惰性載入提高javascript代碼執(zhí)行效率
在 addEvent 函數每次調用的時候都要走一遍,如果瀏覽器支持其中的一種方法,那么他就會一直支持了,就沒有必要再進行其他分支的檢測了2014-05-05Javascript中JSON數據分組優(yōu)化實踐及JS操作JSON總結
這篇文章主要介紹了Javascript中JSON數據分組優(yōu)化實踐,文中還對JS操作JSON的要領做了總結,需要的朋友可以參考下2017-12-12