利用随机数随机生成指定位数的字符串-阿里云开发者社区

开发者社区> 安全> 正文

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

简介: 关于随机生成密码的软件很多,js也可以利用随机数随机生成指定位数的密码。(小白学习记录,谢谢支持) js中关于随机数的Math对象中有一个Math.random()的函数,可以随机生成0-1之间的随机任意的数字。本实例利用该函数与Math.floor()函数随机生成字符串。 代码如下: </pre><pre name="code" class="html"&gt

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


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
+ 订阅

云安全开发者的大本营

其他文章