使用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 相关文章推荐
基于node.js的快速开发透明代理
Dec 25 Javascript
获取数组中最大最小值方法js代码(自写)
Aug 12 Javascript
jquery实现图片按比例缩放示例
Jul 01 Javascript
JSONP之我见
Mar 24 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
Jun 17 Javascript
微信小程序中显示html格式内容的方法
Apr 25 Javascript
JavaScript对象_动力节点Java学院整理
Jun 23 Javascript
详谈AngularJs 控制器、数据绑定、作用域
Jul 09 Javascript
addeventlistener监听scroll跟touch(实例讲解)
Aug 04 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
Aug 07 Javascript
layui给下拉框、按钮状态、时间赋初始值的方法
Sep 10 Javascript
JS中FileReader类实现文件上传及时预览功能
Mar 27 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 伪造本地文件包含漏洞的代码
2011/11/03 PHP
ThinkPHP中create()方法自动验证表单信息
2017/04/28 PHP
详解php反序列化
2020/06/10 PHP
IE6下通过a标签点击切换图片的问题
2010/11/14 Javascript
jquery 利用show和hidden实现级联菜单示例代码
2013/08/09 Javascript
网页右侧悬浮滚动在线qq客服代码示例
2014/04/28 Javascript
详解JavaScript中的异常处理方法
2015/06/16 Javascript
javascript 动态修改css样式方法汇总(四种方法)
2015/08/27 Javascript
jquery背景跟随鼠标滑动导航
2015/11/20 Javascript
Bootstrap每天必学之标签与徽章
2015/11/27 Javascript
jQuery学习心得总结(必看篇)
2016/06/10 Javascript
手机端点击图片放大特效PhotoSwipe.js插件实现
2016/08/24 Javascript
AngularJs html compiler详解及示例代码
2016/09/01 Javascript
js绘制购物车抛物线动画
2020/11/18 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
2016/09/22 Javascript
bootstrap table小案例
2016/10/21 Javascript
Node.js中process模块常用的属性和方法
2016/12/13 Javascript
js实现tab切换效果
2017/02/16 Javascript
vue+vuex+axios+echarts画一个动态更新的中国地图的方法
2017/12/19 Javascript
elementUI 设置input的只读或禁用的方法
2018/10/30 Javascript
node(koa2) web应用模块介绍详解
2019/03/29 Javascript
让你30分钟快速掌握vue3教程
2020/10/26 Javascript
利用Python循环(包括while&for)各种打印九九乘法表的实例
2017/11/06 Python
详解利用Python scipy.signal.filtfilt() 实现信号滤波
2019/06/05 Python
django haystack实现全文检索的示例代码
2020/06/24 Python
Opencv+Python识别PCB板图片的步骤
2021/01/07 Python
HearthSong官网:儿童户外玩具、儿童益智玩具
2017/10/16 全球购物
酒店公关部经理岗位职责
2013/11/24 职场文书
国际贸易专业求职信
2014/06/04 职场文书
乡镇平安建设汇报材料
2014/08/25 职场文书
2014年九一八事变演讲稿
2014/09/14 职场文书
写景作文评语集锦
2014/12/25 职场文书
工程资料员岗位职责
2015/04/13 职场文书
电影建国大业观后感
2015/06/01 职场文书
Python中os模块的简单使用及重命名操作
2021/04/17 Python
Oracle11g R2 安装教程完整版
2021/06/04 Oracle