使用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 相关文章推荐
JavaScript asp.net 获取当前超链接中的文本
Apr 14 Javascript
javascript 选择文件夹对话框(web)
Jul 07 Javascript
MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
May 06 Javascript
jquery 结合C#后台的数组对文章的关键字自动添加链接的代码
Jul 15 Javascript
jQuery获得包含margin的outerWidth和outerHeight的方法
Mar 25 Javascript
javascript获取本机操作系统类型的方法
Aug 13 Javascript
详解JavaScript时间格式化
Dec 23 Javascript
使用mint-ui实现省市区三级联动效果的示例代码
Feb 09 Javascript
angular json对象push到数组中的方法
Feb 27 Javascript
微信小程序实现通过双向滑动缩放图片大小的方法
Dec 30 Javascript
javascript实现页面的实时时钟显示示例
Aug 06 Javascript
vue中echarts的用法及与elementui-select的协同绑定操作
Nov 17 Vue.js
分享一款基于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源代码
2006/10/09 PHP
一个简洁的多级别论坛
2006/10/09 PHP
PHP stream_context_create()作用和用法分析
2011/03/29 PHP
Php中文件下载功能实现超详细流程分析
2012/06/13 PHP
PHP5.5在windows安装使用memcached服务端的方法
2014/04/16 PHP
php使用preg_match()函数验证ip地址的方法
2017/01/07 PHP
懒就要懒到底——鼠标自动点击(含时间判断)
2007/02/20 Javascript
用javascript实现页面打印的三种方法
2007/03/05 Javascript
jQuery获取注册信息并提示实现代码
2013/04/21 Javascript
js控制href内容的连接内容的变化示例
2014/04/30 Javascript
jquery JSON的解析方式示例介绍
2014/07/27 Javascript
js+html5实现canvas绘制简单矩形的方法
2015/06/05 Javascript
JavaScript驾驭网页-DOM
2016/03/24 Javascript
浅谈JavaScript对象与继承
2016/07/10 Javascript
JavaScrpt判断一个数是否是质数的实例代码
2017/06/11 Javascript
jQuery实现的分页插件完整示例
2020/05/26 jQuery
微信小程序实现弹幕墙(祝福墙)
2020/11/18 Javascript
详解Python中with语句的用法
2015/04/15 Python
连接Python程序与MySQL的教程
2015/04/29 Python
Python实现自定义顺序、排列写入数据到Excel的方法
2018/04/23 Python
Python基于whois模块简单识别网站域名及所有者的方法
2018/04/23 Python
Python 中字符串拼接的多种方法
2018/07/30 Python
Python多线程处理实例详解【单进程/多进程】
2019/01/30 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
2019/03/11 Python
不到20行代码用Python做一个智能聊天机器人
2019/04/19 Python
python简单鼠标自动点击某区域的实例
2019/06/25 Python
python中bs4.BeautifulSoup的基本用法
2019/07/27 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
2019/10/22 Python
使用Tensorboard工具查看Loss损失率
2020/02/15 Python
华为消费者德国官方网站:HUAWEI德国
2020/11/03 全球购物
历史专业毕业生的自我鉴定
2013/11/15 职场文书
大学毕业生的自我鉴定
2013/11/30 职场文书
2015年党员创先争优承诺书
2015/01/22 职场文书
2016应届毕业生就业指导课心得体会
2016/01/15 职场文书
windows server 2012安装FTP并配置被动模式指定开放端口
2022/06/10 Servers
Vite + React从零开始搭建一个开源组件库
2022/06/25 Javascript