使用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 相关文章推荐
google 搜索框添加关键字实现代码
Apr 24 Javascript
js word表格动态添加代码
Jun 07 Javascript
JQuery实现用户名无刷新验证的小例子
Mar 22 Javascript
javascript抽象工厂模式详细说明
Dec 16 Javascript
JQuery手速测试小游戏实现思路详解
Sep 20 Javascript
Vue.use源码分析
Apr 22 Javascript
详解Angular Reactive Form 表单验证
Jul 06 Javascript
vuex直接赋值的三种方法总结
Sep 16 Javascript
vue、react等单页面项目部署到服务器的方法及vue和react的区别
Sep 29 Javascript
简单了解TypeScript中如何继承 Error 类
Jun 21 Javascript
node 版本切换的实现
Feb 02 Javascript
vue通过v-html指令渲染的富文本无法修改样式的解决方案
May 20 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查询并删除数据库多列重复数据的方法(利用数组函数实现)
2016/02/23 PHP
PHP实现的数独求解问题示例
2017/04/18 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
2020/09/25 PHP
windows系统php环境安装swoole具体步骤
2021/03/04 PHP
javascript StringBuilder类实现
2008/12/22 Javascript
JS 控制非法字符的输入代码
2009/12/04 Javascript
JavaScript高级程序设计(第3版)学习笔记12 js正则表达式
2012/10/11 Javascript
JQuery.Ajax之错误调试帮助信息介绍
2013/07/04 Javascript
利用js实现遮罩以及弹出可移动登录窗口
2013/07/08 Javascript
Jquery uploadify图片上传插件无法上传的解决方法
2013/12/16 Javascript
jquery $.trim()方法使用介绍
2014/05/21 Javascript
JavaScript对数组进行随机重排的方法
2015/07/22 Javascript
javascript日期验证之输入日期大于等于当前日期
2015/12/13 Javascript
仅30行代码实现Javascript中的MVC
2016/02/15 Javascript
使用jQuery Mobile框架开发移动端Web App的入门教程
2016/05/17 Javascript
js捕捉键盘事件和按键键值的方法
2016/10/10 Javascript
jQuery利用sort对DOM元素进行排序操作
2016/11/07 Javascript
javascript判断firebug是否开启的方法
2016/11/23 Javascript
JS正则表达式判断有效数实例代码
2017/03/13 Javascript
JS实现websocket长轮询实时消息提示的效果
2017/10/10 Javascript
three.js中3D视野的缩放实现代码
2017/11/16 Javascript
jQuery 防止相同的事件快速重复触发方法
2018/02/08 jQuery
详解webpack import()动态加载模块踩坑
2018/07/17 Javascript
vue-video-player视频播放器使用配置详解
2020/10/23 Javascript
JavaScript中的模拟事件和自定义事件实例分析
2018/07/27 Python
Python闭包思想与用法浅析
2018/12/27 Python
pyqt5实现俄罗斯方块游戏
2019/01/11 Python
用Python中的turtle模块画图两只小羊方法
2019/04/09 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
2020/06/03 Python
SHEIN香港:价格实惠的女性时尚服装
2018/08/14 全球购物
竞选学习委员演讲稿
2014/09/01 职场文书
暑期家教宣传单
2015/07/14 职场文书
2015年入党积极分子培养考察意见
2015/08/12 职场文书
vue backtop组件的实现完整代码
2021/04/07 Vue.js
MySQL分区以及建索引的方法总结
2022/04/13 MySQL