使用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 相关文章推荐
alixixi runcode.asp的代码不错的应用
Aug 08 Javascript
javascript模版引擎-tmpl的bug修复与性能优化分析
Oct 23 Javascript
jQuery EasyUI API 中文文档 - PropertyGrid属性表格
Nov 18 Javascript
javascript白色简洁计算器
May 04 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
Dec 04 Javascript
理解javascript模块化
Mar 28 Javascript
第三篇Bootstrap网格基础
Jun 21 Javascript
关于Jquery中的bind(),on()绑定事件方式总结
Oct 26 Javascript
JavaScript数组复制详解
Feb 02 Javascript
jquery仿京东商品放大浏览页面
Jun 06 jQuery
jquery实现倒计时小应用
Sep 19 jQuery
JS实现图片旋转动画效果封装与使用示例
Jul 09 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
回帖脱衣服的图片实现代码
2014/02/15 PHP
php中使用sftp教程
2015/03/30 PHP
php简单实现屏蔽指定ip段用户的访问
2015/04/29 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
Yii2 rbac权限控制之rule教程详解
2016/06/23 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
2016/12/19 PHP
javascript支持firefox,ie7页面布局拖拽效果代码
2007/12/20 Javascript
javascript定义变量时有var和没有var的区别探讨
2014/07/21 Javascript
javascript学习小结之prototype
2015/12/03 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
2016/03/18 Javascript
jQuery的deferred对象使用详解
2016/09/25 Javascript
js实现手机发送验证码功能
2017/03/13 Javascript
让网站自动生成章节目录索引的多个js代码
2018/01/07 Javascript
微信小程序引入VANT组件的方法步骤
2019/09/19 Javascript
vue 获取url参数、get参数返回数组的操作
2020/11/12 Javascript
Python实现抓取页面上链接的简单爬虫分享
2015/01/21 Python
python在windows和linux下获得本机本地ip地址方法小结
2015/03/20 Python
利用Python的装饰器解决Bottle框架中用户验证问题
2015/04/24 Python
Python中使用Beautiful Soup库的超详细教程
2015/04/30 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
2019/04/06 Python
python 直接赋值和copy的区别详解
2019/08/07 Python
Pytorch mask_select 函数的用法详解
2020/02/18 Python
Python实现清理微信僵尸粉功能示例【基于itchat模块】
2020/05/29 Python
Python while true实现爬虫定时任务
2020/06/08 Python
Python操作Word批量生成合同的实现示例
2020/08/28 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
CSS3 创建网页动画实现弹跳球动效果
2018/10/30 HTML / CSS
浅谈HTML5 FileReader分布读取文件以及其方法简介
2017/11/09 HTML / CSS
亿阳信通股份有限公司C#笔试题
2016/12/06 面试题
信息技术毕业生自荐信范文
2014/03/13 职场文书
设计大赛策划方案
2014/06/13 职场文书
开展创先争优活动总结
2014/08/28 职场文书
基层党员群众路线教育实践活动个人对照检查材料思想汇报
2014/10/05 职场文书
志愿者事迹材料
2014/12/26 职场文书
2015年乡镇纪委工作总结
2015/05/26 职场文书
Nginx 过滤静态资源文件的访问日志的实现
2021/03/31 Servers