利用随机数随机生成指定位数的字符串

关于随机生成密码的软件很多,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.onclick=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字符串,用以下次点击调用时为空
	}


上一篇:删除字符串中指定位置的字符


下一篇:Docker基础:查找镜像和运行容器