使用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 无符号右移赋值操作
Apr 17 Javascript
克隆javascript对象的三个方法小结
Jan 12 Javascript
jQuery使用post方法提交数据实例
Mar 25 Javascript
简介JavaScript中的getUTCFullYear()方法的使用
Jun 10 Javascript
bootstrap-treeview自定义双击事件实现方法
Jan 09 Javascript
深入理解JS函数的参数(arguments)的使用
May 28 Javascript
js实现点击图片自动提交action的简单方法
Oct 16 Javascript
解决URL地址中的中文乱码问题的办法
Feb 10 Javascript
基于JavaScript实现的折半查找算法示例
Apr 14 Javascript
Vue中img的src属性绑定与static文件夹实例
May 18 Javascript
微信小程序wx.getImageInfo()如何获取图片信息
Jan 26 Javascript
JavaScript canvas实现雪花随机动态飘落
Feb 08 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开发文件系统实例讲解
2006/10/09 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
2013/04/08 PHP
php采用file_get_contents代替使用curl实例
2014/11/07 PHP
php中static和const关键字用法分析
2016/12/07 PHP
laravel自定义分页效果
2017/07/23 PHP
php二维码生成以及下载实现
2017/09/28 PHP
JavaScript CSS修改学习第五章 给“上传”添加样式
2010/02/19 Javascript
javascript如何判断输入的url是否正确
2014/04/11 Javascript
avascript中的自执行匿名函数应用示例
2014/09/15 Javascript
微信开发 微信授权详解
2016/10/21 Javascript
AngularJS实现根据变量改变动态加载模板的方法
2016/11/04 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
2017/02/05 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
2017/06/02 jQuery
vue悬浮可拖拽悬浮按钮的实例代码
2019/08/20 Javascript
解决layUI的页面显示不全的问题
2019/09/20 Javascript
webpack+express实现文件精确缓存的示例代码
2020/06/11 Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
2020/08/05 Javascript
python网页请求urllib2模块简单封装代码
2014/02/07 Python
python3 与python2 异常处理的区别与联系
2016/06/19 Python
Django基础之Model操作步骤(介绍)
2017/05/27 Python
在Pycharm中将pyinstaller加入External Tools的方法
2019/01/16 Python
PyQt5 加载图片和文本文件的实例
2019/06/14 Python
深入了解如何基于Python读写Kafka
2019/12/31 Python
使用PyQt5实现图片查看器的示例代码
2020/04/21 Python
python切割图片的示例
2020/11/12 Python
空指针到底是什么
2012/08/07 面试题
怎么写有吸引力的自荐信
2013/11/17 职场文书
优秀医生事迹材料
2014/02/12 职场文书
医学生职业生涯规划书范文
2014/03/13 职场文书
导师就业推荐信范文
2014/05/22 职场文书
小学优秀班集体申报材料
2014/05/25 职场文书
刑事代理授权委托书
2014/09/17 职场文书
2015年全国爱耳日活动总结
2015/02/27 职场文书
就业导师推荐信范文
2015/03/27 职场文书
2015年物资管理工作总结
2015/05/20 职场文书
进行数据处理的6个 Python 代码块分享
2022/04/06 Python