关于随机生成密码的软件很多,js也可以利用随机数随机生成指定位数的密码。(小白学习记录,谢谢支持)
js中关于随机数的Math对象中有一个Math.random()的函数,可以随机生成0-1之间的随机任意的数字。本实例利用该函数与Math.floor()函数随机生成字符串。
代码如下:
</pre><pre name="code" class="html"><body>
<div>
所需位数:<input type="text" id="num"><br>
<button type="button" value="生成密码" id="myBtn">生成密码</button><br>
生成密码<input type="text" id="pass" disabled="true">
</div>
</body>
两个input文本框,一个用来获取所需的字符串长度,另一个用来显示生成的随机字符串。
js代码如下:
var num = document.getElementById('num'),
password = document.getElementById('pass'),
myBtn = document.getElementById('myBtn'), <span style="white-space:pre"> </span>//分别获取文本框和按钮
myPass = ['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'],//定义存放字符串的数组(应该有简单的方法,小白只想到这个)
str = '';<span style="white-space:pre"> </span>//定义一个空的对象,用以存放生成的字符串
myBtn.οnclick=function(){ <span style="white-space:pre"> </span>//定义一个点击事件
for(var i = 0; i < parseInt(num.value); i++){<span style="white-space:pre"> </span>//定义for循环,循环次数为输入的数字
var myNum = Math.floor(Math.random()*62);<span style="white-space:pre"> </span>//利用random()乘以62生成0-62之间的随机数(浮点型),利用floor()函数,进行取整,得到0-61之间的随机数
str = str + String(myPass[myNum]);<span style="white-space:pre"> </span>//利用生成的随机数从数组中取出对应的字符,并用String()函数转换为字符串型,并一个个拼接起来
}
password.value = str;<span style="white-space:pre"> </span>//生成的str字符串赋值给第二个文本框
str = '';<span style="white-space:pre"> </span>//清空str字符串,用以下次点击调用时为空
}