randomString: function (len) { len = len || 32; let $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; /****默認去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/ let maxPos = $chars.length; let pwd = ''; let i = 0; while (i < len) { pwd += $chars.charAt(Math.floor(Math.random() * maxPos)); i++ } return pwd; },
思路就是:假設有一個包含各種字符的源字符串,長度為 n ,用隨機函數在 0 - n 直接取一個隨機數,然后再對這個隨機數取整得到一個和隨機數最近的整數,以此整數為下標獲取字符,循環 x 次此過程,就會等到長度為 x 的隨機字符串。