javascript获取四位数字或者字母的随机数_javascript技巧

本章节通过代码实例介绍一下如何实现简单的四位随机数功能。
比较简单的一种实现方式就是从数字和字母中随机抽取四个不重复的字符。

代码实例如下:

function only(ele,arr){
 if(arr.length==0){
  return true;
 }
 for(var j=0;j<arr.length;j++){
  if(ele==arr[j]){
   return false;
  }else{
   return true;
  }
 }
} 

var arr=[0,1,2,3,4,5,6,"a","b","c","d","e","f","g"]; 

(function(){
 var randNum=null;
 var old=[];
 var str="";
 function done(){
  randNum=Math.floor(Math.random()*14);
  if(only(randNum,old)){
   str=str+arr[randNum];
   old.push(randNum);
  }
  else{
   done();
  }
 }
 for(var index=0;index<4;index++){
  done();
 }
 console.log(str);
})(arr)

上面的代码实现了我们的要求,下面就介绍一下上面代码的实现过程。

一.代码注释:
1.function only(ele,arr){},此函数可以实现判断指定的索引是否已经使用过了,放置随机数出现重复。
2.if(arr.length==0){},如果数组为空,那么就说明不可能是重复的情况,返回true。
3.for(var j=0;j<arr.length;j++){},数组不为空,就遍历数组中的元素,进行比对,没有重复的就返回true,否则返回false。4.var arr=[0,1,2,3,4,5,6,"a","b","c","d","e","f","g"],获取随机数的数组,当然可以进行扩充。
5.(function(){})(arr),一个自执行函数,并传递一个参数。
6.var randNum=null,声明一个变量并赋初值为null,用来存储随机生成的数组索引。
7.var old=[],创建一个空数组,用来存储已经出现过的数组索引值。
8.var str="",创建一个空字符串,用来存放生成的随机数。
9.function done(){},此函数可以用来获取一个随机数。
10.randNum=Math.floor(Math.random()*14),获取数组的索引值。
11.if(only(randNum,old)){
str=str+arr[randNum];
old.push(randNum);
},判断是否已经使用过,如果没有,则获取数组元素,并追加到str字符串中,最后将此索引值追加到old数组。
12.else{ done();
},如果已经用过,那么再获取一次,这里是使用递归的方式。
13.for(var index=0;index<4;index++){
done();
},使用for循环获取4个随机数。

来自:http://www.softwhy.com/forum.php?mod=viewthread&tid=16493

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索随机数
javascript获取随机数、javascript 随机数、javascript生成随机数、javascript产生随机数、javascript随机数函数,以便于您获取更多的相关知识。

时间: 2024-10-18 06:38:51

javascript获取四位数字或者字母的随机数_javascript技巧的相关文章

使用JavaScript获取Request中参数的值方法_javascript技巧

假设现在有一个URL,如下. http://www.jb51.net 如何通过JS访问到id和name里面的值呢,实现我们来分析一下思路. 先获取当前页面的URL,通过window.location.href. 提取该URL?后面的部分,通过slice()方法. 把获取到的Request对象分割成字符串数组,通过split() 方法. 接下来看代码. function getUrlVars() { var vars = [], hash; var hashes = window.location

JavaScript获取function所有参数名的方法_javascript技巧

我写了一个 JavaScript函数来解析函数的参数名称, 代码如下: function getArgs(func) { // 先用正则匹配,取得符合参数模式的字符串. // 第一个分组是这个: ([^)]*) 非右括号的任意字符 var args = func.toString().match(/function\s.*?\(([^)]*)\)/)[1]; // 用逗号来分隔参数(arguments string). return args.split(",").map(functi

JavaScript获取当前日期是星期几的方法_javascript技巧

本文实例讲述了JavaScript获取当前日期是星期几的方法.分享给大家供大家参考.具体如下: JavaScript获得当前日期是星期几,主要通过getDay函数获得当前日期是一个星期的第几天 <!DOCTYPE html> <html> <body> <p id="demo"> Click the button to display todays day of the week. </p> <button onclic

Javascript 获取滚动条位置等信息的函数_javascript技巧

其实这段代码在之前的 " 用 Javascript 实现锚点(Anchor)间平滑跳转" 一文已经介绍过了,但是由于这个需求并且经常用到,因此,本站专门发布此文介绍,方便查阅. 复制代码 代码如下: <script type="text/javascript"> // 说明:用 Javascript 获取滚动条位置等信息 // 来源 :ThickBox 2.1 function getScroll() { var t, l, w, h; if (docu

JavaScript获取客户端IP的方法(新方法)_javascript技巧

很久以来,我都是经过http://fw.qq.com/ipaddress来得到客户端用户的IP,这个方法简单.快速.实用 . 我们调用它的写法是: <script type="text/javascript" src="http://fw.qq.com/ipaddress"></script> 它可以返回用户IP和地点,比喻: var IPData = new Array("220.181.108.85","&q

JavaScript获取服务器时间的方法详解_javascript技巧

本文实例讲述了JavaScript获取服务器时间的方法.分享给大家供大家参考,具体如下: Javascript是运行在客户端的脚本,我们一般都用new Date()来获取当前时间,但是得到的是客户端的时间,客户端时间是随意更改的,如果要做一个产品发布倒计时的话,客户端时间一改,就要闹笑话了.业务中需要用到服务器时间的场景还有很多,那么仅仅通过js怎么拿到服务器时间呢?事实上,只需要一个ajax请求就搞定,通过读取XMLHttpRequest对象的响应头里面的时间戳得到当前服务器时间! 原理就是这

JavaScript获取一个范围内日期的方法_javascript技巧

本文实例讲述了JavaScript获取一个范围内日期的方法.分享给大家供大家参考.具体分析如下: 指定开始和结束时间,范围该范围内的所有日期放入数组 Date.prototype.addDays = function(days) { var dat = new Date(this.valueOf()); dat.setDate(dat.getDate() + days); return dat; }; function getDates(startDate, stopDate) { var da

JavaScript获取表单enctype属性的方法_javascript技巧

本文实例讲述了JavaScript获取表单enctype属性的方法.分享给大家供大家参考.具体如下: <!DOCTYPE html> <html> <body> <form id="frm1" enctype="text/plain"> First name: <input type="text" name="fname" value="Donald"&

JavaScript获取两个数组交集的方法_javascript技巧

本文实例讲述了JavaScript获取两个数组交集的方法.分享给大家供大家参考.具体如下: 这里传入的数组必须是已经排过序的 /* finds the intersection of * two arrays in a simple fashion. * * PARAMS * a - first array, must already be sorted * b - second array, must already be sorted * * NOTES * * Should have O(