随机六位验证码(至少包含一个字母和一个数字)

	console.log(ranSixNumLet())
	function ranSixNumLet(){
		//	定义装有数字的数组
			var num = [];
		//	定义装有字母的数组
			var letter = [];
		//	定义装有数字和字母的数组
			var arrAll = [];
		//	从ascii获取数字并且加到num数组
			for (var i=48;i<58;i++) {
				num.push(String.fromCharCode(i));
			}
		//	从ascii获取字母并且加到letter数组	
			for (var j=97;j<123;j++) {
				letter.push(String.fromCharCode(j));
		//		这里是获取到的字母进行大写转换再加入letter数组
				letter.push(String.fromCharCode(j).toUpperCase());
			}
		//	num数组与letter数组合并并且赋给arrAll
			arrAll = num.concat(letter);
		//	定义一个随机六位数,首先规定首个为数字
		//	并且调用随机值函数,范围是该数组的长度-1,这里是数字
			var randomArr = num[randomMax_Min(num.length-1)];
		//	并且调用随机值函数,范围是该数组的长度-1,这里是字母	
			randomArr = randomArr + letter[randomMax_Min(letter.length-1)];
		//	上面获取俩位了,这里循环获取四位
			for (var k=0;k<4;k++) {
		//	并且调用随机值函数,范围是该数组的长度-1,这里是数字和字母		
				randomArr += arrAll[randomMax_Min(arrAll.length-1)];
			}	
		return '你的六位验证码(至少包含一个字母和一个数字):'+randomArr;
	}
	
	//打乱数组
	function fixArr(arr){
//		定义一个新的数组来装 从旧数组中获取的元素
		var arrLoad = [];
//		定义获取数组时的长度
		var length =  arr.length;
//		循环刚获取数组的长度的次数
		for (var i=0;i<length;i++) {
//			定义一个获取数组长度内的随机数,这里因为下面的spice删除操作,
//			必须用arr.length来进行更新数组长度的变化,如果使用获取时的
//			固定长度,那么有可能获取到undefined,就是数组已经被删除的元素的位置
			var ran = randomMax_Min(arr.length,0);
//			把获取到的数组内的元素加到新的数组来
			arrLoad.push(arr[ran]);
//			获取完后进行删除操作,删除从第ran个开始,删除一个
			arr.splice(ran,1);
		}
//		返回新的数组
		return arrLoad;
	}
	
//	随机数
	function randomMax_Min(max,min){
//		如果最小值为空,则返回0
		min = min ||0;
//		对随机数的范围进行四舍五入取整
		return Math.round(min+Math.random()*(max-min));
	}

猜你喜欢

转载自blog.csdn.net/qq_36245035/article/details/80562132