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


Posted in Javascript onJanuary 09, 2015

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

代码实例如下:

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 相关文章推荐
一个js写的日历(代码部分网摘)
Sep 20 Javascript
JS 进度条效果实现代码整理
May 21 Javascript
JQuery入门——移除绑定事件unbind方法概述及应用
Feb 05 Javascript
Js控制弹窗实现在任意分辨率下居中显示
Aug 01 Javascript
TinyMCE提交AjaxForm获取不到数据的解决方法
Mar 05 Javascript
js实现键盘Enter键提交表单的方法
May 27 Javascript
jquery做个日期选择适用于手机端示例
Jan 10 Javascript
JS简单实现获取元素的封装操作示例
Apr 07 Javascript
vue+element-ui+ajax实现一个表格的实例
Mar 09 Javascript
Vue组件跨层级获取组件操作
Jul 27 Javascript
vue使用echarts图表自适应的几种解决方案
Dec 04 Vue.js
vue-router定义元信息meta操作
Dec 07 Vue.js
JS JQUERY实现滚动条自动滚到底的方法
Jan 09 #Javascript
JavaScript Math.ceil 方法(对数值向上取整)
Jan 09 #Javascript
封装好的js判断操作系统与浏览器代码分享
Jan 09 #Javascript
JavaScript Math.floor方法(对数值向下取整)
Jan 09 #Javascript
使用javascript实现json数据以csv格式下载
Jan 09 #Javascript
js读取csv文件并使用json显示出来
Jan 09 #Javascript
微信JS接口汇总及使用详解
Jan 09 #Javascript
You might like
用PHP和ACCESS写聊天室(四)
2006/10/09 PHP
php页面函数设置超时限制的方法
2014/12/01 PHP
PHP读取Excel类文件
2017/05/15 PHP
PHP实现验证码校验功能
2017/11/16 PHP
JQuery为textarea添加maxlength属性的代码
2010/04/07 Javascript
Prototype源码浅析 String部分(三)之HTML字符串处理
2012/01/15 Javascript
jquery 设置style:display的方法
2015/01/29 Javascript
jQuery点击其他地方时菜单消失的实现方法
2016/04/22 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
2017/01/19 Javascript
Bootstrap Table使用整理(四)之工具栏
2017/06/09 Javascript
详解微信小程序中的页面代码中的模板的封装
2017/10/12 Javascript
css配合JavaScript实现tab标签切换效果
2018/10/11 Javascript
开发Node CLI构建微信小程序脚手架的示例
2020/03/27 Javascript
Python基类函数的重载与调用实例分析
2015/01/12 Python
Python实现Tab自动补全和历史命令管理的方法
2015/03/12 Python
Python中遍历字典过程中更改元素导致异常的解决方法
2016/05/12 Python
浅析Python中元祖、列表和字典的区别
2016/08/17 Python
Python利用Django如何写restful api接口详解
2018/06/08 Python
pycharm下查看python的变量类型和变量内容的方法
2018/06/26 Python
pycharm运行和调试不显示结果的解决方法
2018/11/30 Python
基于python3 的百度图片下载器的实现代码
2019/11/05 Python
Python数据持久化存储实现方法分析
2019/12/21 Python
HTML5新控件之日期和时间选择输入的实现代码
2018/09/13 HTML / CSS
浅谈HTML5 &amp; CSS3的新交互特性
2016/07/19 HTML / CSS
de Bijenkorf比利时官网:荷兰最知名的百货商店
2017/06/29 全球购物
英国领先的大码时装品牌之一:Elvi
2018/08/26 全球购物
美国在线轮胎零售商:SimpleTire
2019/04/08 全球购物
幼儿园教师培训制度
2014/01/16 职场文书
应届生自荐信
2014/06/30 职场文书
创建绿色社区汇报材料
2014/08/22 职场文书
2014年幼儿园德育工作总结
2014/12/17 职场文书
会计实训总结范文
2015/08/03 职场文书
Python Matplotlib绘制两个Y轴图像
2022/04/13 Python
美国运营商 T-Mobile 以 117.83Mb/s 的速度排第一位
2022/04/21 数码科技
MySQL中EXPLAIN语句及用法
2022/05/20 MySQL
python index() 与 rindex() 方法的使用示例详解
2022/12/24 Python