使用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 相关文章推荐
在网页中控制wmplayer播放器
Jul 01 Javascript
Javascript中的this绑定介绍
Sep 22 Javascript
jquery表单验证使用插件formValidator
Nov 10 Javascript
用JavaScript实现类似于ListBox功能示例代码
Mar 09 Javascript
jquery中的常用事件bind、hover、toggle等示例介绍
Jul 21 Javascript
谈谈JavaScript自定义回调函数
Oct 18 Javascript
基于jquery实现页面滚动到底自动加载数据的功能
Dec 19 Javascript
原生javascript实现图片无缝滚动效果
Feb 12 Javascript
微信小程序 网络请求(GET请求)详解
Nov 16 Javascript
详解vue中computed 和 watch的异同
Jun 30 Javascript
javascript原生封装一个淡入淡出效果的函数测试实例代码
Mar 19 Javascript
layui 上传文件_批量导入数据UI的方法
Sep 23 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生成缩略图的类代码
2008/10/02 PHP
PHP 文件上传全攻略
2010/04/28 PHP
ThinkPHP关于session的操作方法汇总
2014/07/18 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
2015/10/08 PHP
PHP错误处理函数
2016/04/03 PHP
PHP-CGI远程代码执行漏洞分析与防范
2017/05/07 PHP
JavaScript基本编码模式小结
2012/05/23 Javascript
jquery ui bootstrap 实现自定义风格
2014/11/14 Javascript
js的各种排序算法实现(总结)
2016/07/23 Javascript
强大的JavaScript响应式图表Chartist.js的使用
2017/09/13 Javascript
详解在vue-cli项目中使用mockjs(请求数据删除数据)
2017/10/23 Javascript
基于vue-cli vue-router搭建底部导航栏移动前端项目
2018/02/28 Javascript
nuxt框架中路由鉴权之Koa和Session的用法
2018/05/09 Javascript
vue单页面实现当前页面刷新或跳转时提示保存
2018/11/02 Javascript
微信小程序跨页面传递data数据方法解析
2019/12/13 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
Vue指令实现OutClick的示例
2020/11/16 Javascript
Vue使用Element实现增删改查+打包的步骤
2020/11/25 Vue.js
如何在VUE中使用vue-awesome-swiper
2021/01/04 Vue.js
使用python BeautifulSoup库抓取58手机维修信息
2013/11/21 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
2018/05/24 Python
在Pycharm中项目解释器与环境变量的设置方法
2018/10/29 Python
python中比较两个列表的实例方法
2019/07/04 Python
Django model select的多种用法详解
2019/07/16 Python
django中使用事务及接入支付宝支付功能
2019/09/15 Python
python实现ip地址的包含关系判断
2020/02/07 Python
Python-openCV开运算实例
2020/07/05 Python
Python接口自动化测试的实现
2020/08/28 Python
python邮件中附加文字、html、图片、附件实现方法
2021/01/04 Python
Melijoe英国官网:法国儿童时尚网站
2016/11/18 全球购物
会计系中文个人求职信
2013/12/24 职场文书
事业单位竞聘上岗实施方案
2014/03/28 职场文书
国际会计专业求职信
2014/08/04 职场文书
酒店七夕情人节活动策划方案
2014/08/24 职场文书
2014年生产部工作总结
2014/12/17 职场文书
Go语言怎么使用变长参数函数
2022/07/15 Golang