使用js Math.random()函数生成n到m间的随机数字


Posted in Javascript onOctober 09, 2014

摘要:

本文讲解如何使用js生成n到m间的随机数字,主要目的是为后期的js生成验证码做准备。

Math.random()函数返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1)

生成n-m,包含n但不包含m的整数:

第一步算出 m-n的值,假设等于w

第二步Math.random()*w

第三步Math.random()*w+n

第四步parseInt(Math.random()*w+n, 10)

生成n-m,不包含n但包含m的整数:​

第一步算出 m-n的值,假设等于w

第二步Math.random()*w

第三步Math.random()*w+n

第四步Math.floor(Math.random()*w+n) + 1

生成n-m,不包含n和m的整数:

第一步算出 m-n-2的值,假设等于w

第二步Math.random()*w

第三步Math.random()*w+n +1

第四步Math.round(Math.random()*w+n+1) 或者 Math.ceil(Math.random()*w+n+1)

生成n-m,包含n和m的随机数:

第一步算出 m-n的值,假设等于w

第二步Math.random()*w

第三步Math.random()*w+n

第四步Math.round(Math.random()*w+n) 或者 Math.ceil(Math.random()*w+n)

例子:

生成800-1500的随机整数,包含800但不包含1500

1500-800 = 700

Math.random()*700

var num = Math.random()*700 + 800;

num = parseInt(num, 10);

只需要简单的四步就可以完成。

补充:

Math.ceil() 返回大于等于数字参数的最小整数(取整函数),对数字进行上舍入

Math.floor() 返回小于等于数字参数的最大整数,对数字进行下舍入

Math.round() 返回数字最接近的整数,四舍五入

Javascript 相关文章推荐
下拉列表select 由左边框移动到右边示例
Dec 04 Javascript
Firefox下无法正常显示年份的解决方法
Sep 04 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
Jun 17 Javascript
基于JavaScript实现鼠标箭头移动图片跟着移动
Aug 30 Javascript
微信小程序 this和that详解及简单实例
Feb 13 Javascript
使用jQuery和ajax代替iframe的方法(详解)
Apr 12 jQuery
Node.JS循环删除非空文件夹及子目录下的所有文件
Mar 12 Javascript
详解Angular中实现自定义组件的双向绑定的两种方法
Nov 23 Javascript
详解vuejs2.0 select 动态绑定下拉框支持多选
Apr 25 Javascript
webpack 代码分离优化快速指北
May 18 Javascript
js的Object.assign用法示例分析
Mar 05 Javascript
js实现贪吃蛇游戏(简易版)
Sep 29 Javascript
分享一款基于jQuery的视频播放插件
Oct 09 #Javascript
使用jQuery.wechat构建微信WEB应用
Oct 09 #Javascript
使用jQuery将多条数据插入模态框的实现代码
Oct 08 #Javascript
get(0).tagName获得作用标签示例代码
Oct 08 #Javascript
一个css与js结合的下拉菜单支持主流浏览器
Oct 08 #Javascript
Javascript获取当前日期的农历日期代码
Oct 08 #Javascript
javascript中通过arguments参数伪装方法重载
Oct 08 #Javascript
You might like
php的SimpleXML方法读写XML接口文件实例解析
2014/06/16 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
2015/09/30 PHP
php实现的二叉树遍历算法示例
2017/06/15 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
javascript 鼠标滚轮事件
2009/04/09 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
jquery中的ajax方法怎样通过JSONP进行远程调用
2014/05/04 Javascript
javascript数组详解
2014/10/22 Javascript
jquery中$each()方法的使用指南
2015/04/30 Javascript
jQuery实现输入框下拉列表树插件特效代码分享
2015/08/27 Javascript
JavaScript Math 对象常用方法总结
2016/04/28 Javascript
深入解析Backbone.js框架的依赖库Underscore.js的作用
2016/05/07 Javascript
Angular的MVC和作用域
2016/12/26 Javascript
bootstrap输入框组件使用方法详解
2017/01/19 Javascript
Vue.js仿Metronic高级表格(二)数据渲染
2017/04/19 Javascript
浅谈原生JS中的延迟脚本和异步脚本
2017/07/12 Javascript
vue基于element的区间选择组件
2018/09/07 Javascript
[05:03]显微镜下的DOTA2第十期——Ti3豪之超神幽鬼
2014/06/23 DOTA
python使用paramiko模块实现ssh远程登陆上传文件并执行
2014/01/27 Python
理论讲解python多进程并发编程
2018/02/09 Python
python excel使用xlutils类库实现追加写功能的方法
2018/05/02 Python
python框架中flask知识点总结
2018/08/17 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
django框架防止XSS注入的方法分析
2019/06/21 Python
Python利用matplotlib绘制约数个数统计图示例
2019/11/26 Python
Python Mock模块原理及使用方法详解
2020/07/07 Python
英国领先的体验日提供商:Buyagift
2019/04/19 全球购物
科研先进个人典型材料
2014/01/31 职场文书
班班通校本培训方案
2014/03/12 职场文书
带病坚持工作事迹
2014/05/03 职场文书
银行服务明星推荐材料
2014/05/29 职场文书
中学学校门卫岗位职责
2014/08/15 职场文书
敬老月活动总结
2014/08/28 职场文书
2014年度党员自我评议
2014/09/13 职场文书
师德标兵事迹材料
2014/12/19 职场文书
React实现动效弹窗组件
2021/06/21 Javascript