使用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 相关文章推荐
动态刷新 dorado树的js代码
Jun 12 Javascript
jQuery Validate 验证,校验规则写在控件中的具体实例
Feb 27 Javascript
jQuery 删除或是清空某个HTML元素示例
Aug 04 Javascript
jQuery中:gt选择器用法实例
Dec 29 Javascript
JQuery中$.each 和$(selector).each()的区别详解
Mar 13 Javascript
Jquery Mobile 自定义按钮图标
Nov 18 Javascript
js实现的下拉框二级联动效果
Apr 30 Javascript
JavaScript的变量声明提升问题浅析(Hoisting)
Nov 30 Javascript
jQuery创建及操作xml格式数据示例
May 26 jQuery
使用JS获取页面上的所有标签
Oct 18 Javascript
vue+iview 兼容IE11浏览器的实现方法
Jan 07 Javascript
使用apifm-wxapi模块中的问题及解决方法
Aug 05 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
地摊中国 - 珍藏老照片
2020/08/18 杂记
PHP初学者最感迷茫的问题小结
2010/03/27 PHP
php中将汉字转换成拼音的函数代码
2012/09/08 PHP
php生成圆角图片的方法
2015/04/07 PHP
PHP控制前台弹出对话框的实现方法
2016/08/21 PHP
php接口实现拖拽排序功能
2018/04/23 PHP
php桥接模式应用案例分析
2019/10/23 PHP
关于javascript中的parseInt使用技巧
2009/09/03 Javascript
关于JavaScript的with 语句的使用方法
2011/05/09 Javascript
JS 操作Array数组的方法及属性实例解析
2014/01/08 Javascript
ExtJS如何设置与获取radio控件的选取状态
2014/01/22 Javascript
AngularJS中$interval的用法详解
2016/02/02 Javascript
BootStrap+Angularjs+NgDialog实现模式对话框
2016/08/24 Javascript
Bootstrap在线电子商务网站实战项目5
2016/10/14 Javascript
详解nodejs微信公众号开发——5.素材管理接口
2017/04/11 NodeJs
jQuery.validate.js表单验证插件的使用代码详解
2018/10/22 jQuery
简单了解微信小程序 e.target与e.currentTarget的不同
2019/09/27 Javascript
详解python的数字类型变量与其方法
2016/11/20 Python
Python 模拟购物车的实例讲解
2017/09/11 Python
python批量查询、汉字去重处理CSV文件
2018/05/31 Python
使用selenium模拟登录解决滑块验证问题的实现
2019/05/10 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
2020/02/22 Python
Django celery异步任务实现代码示例
2020/11/26 Python
如何使用Python进行PDF图片识别OCR
2021/01/22 Python
CSS3 translate导致字体模糊的实例代码
2019/08/30 HTML / CSS
荷兰多品牌网上鞋店:Stoute Schoenen
2017/08/24 全球购物
static关键字的用法
2013/10/07 面试题
求职信模版
2013/11/30 职场文书
少先队学雷锋活动总结范文
2014/03/09 职场文书
社区党务公开实施方案
2014/03/18 职场文书
五年级学生评语大全
2014/12/26 职场文书
北京爱情故事观后感
2015/06/12 职场文书
合作合同协议书
2016/03/21 职场文书
《天使的翅膀》读后感3篇
2019/12/20 职场文书
python开发人人对战的五子棋小游戏
2022/05/02 Python
python playwright之元素定位示例详解
2022/07/23 Python