javascript之随机密码[必包含大写,小写,数字]
js取两个数字之间的随机数:
parseInt(Math.random()*(上限-下限+1)+下限)
如:取1-10之间的随机数 parseInt(Math.random()*(10-1+1)+1)。
随机数介绍完成,下面粘贴随机密码算法(仅供参考):
1 /** 2 * 2016年9月6日 3 * 生成随机密码,必包含大写小写数字-linx 4 * @param length,生成随机密码长度 5 * @param arr,生成密码字符串数组,默认大写,小写,数字 6 * @return 返回生成的密码字符串 7 */ 8 function randPassword(length, passwordArray) { 9 length = length || 6; 10 // 密码串----默认 大写字母 小写字母 数字 11 passwordArray = passwordArray || ['ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz', '1234567890']; 12 var password = ''; 13 // 随机生成开始字符串 14 var startIndex = parseInt(Math.random() * (length)); 15 var randIndex = []; 16 for (var i = 0; i < length; i++) { 17 // 创建数组,用于取随机位置 [0,1,2,3,4,5,....] 18 randIndex.push(i); 19 } 20 for (var i = 0; i < length; i++) { 21 // 根据随机数组生成随机位置 22 var r = parseInt(Math.random() * (randIndex.length)); 23 var num = randIndex[r] + startIndex; 24 // 根据随机值取余数 25 var randRemainder = num % passwordArray.length; 26 // 当前密码串【大写字母,小写字母,数字等】 27 var currentPassword = passwordArray[randRemainder]; 28 // 根据当前密码串长度取随机数 29 var index = parseInt(Math.random() * (currentPassword.length)); 30 // 获取随机字符串 31 var str = currentPassword.substr(index, 1); 32 // 删除随机数组中已经使用的值 33 randIndex.splice(r, 1); 34 password += str; 35 } 36 return password; 37 } 38 console.log('生成的密码:', randPassword(6));
欢迎大侠提出跟简单的算法。