使用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为对象原型prototype添加属性的两种方式
Aug 01 Javascript
JS实现鼠标单击与双击事件共存
Mar 08 Javascript
node.js中的querystring.escape方法使用说明
Dec 10 Javascript
javascript实现判断鼠标的状态
Jul 10 Javascript
Node.js重新刷新session过期时间的方法
Feb 04 Javascript
js判断一个字符串是以某个字符串开头的简单实例
Dec 27 Javascript
基于jQuery实现瀑布流页面
Apr 11 jQuery
Vue内容分发slot(全面解析)
Aug 19 Javascript
用最简单的方法判断JavaScript中this的指向(推荐)
Sep 04 Javascript
nuxt+axios解决前后端分离SSR的示例代码
Oct 24 Javascript
AngularJS与BootStrap模仿百度分页的示例代码
May 23 Javascript
详解在Vue.js编写更好的v-for循环的6种技巧
Apr 14 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
Yii框架调试心得--在页面输出执行sql语句
2014/12/25 PHP
php实现的操作excel类详解
2016/01/15 PHP
YII框架页面缓存操作示例
2019/04/29 PHP
jquery插件开发注意事项小结
2013/06/04 Javascript
JS自调用匿名函数具体实现
2014/02/11 Javascript
Javascript中浮点数相乘的一个解决方法
2014/06/03 Javascript
JavaScript设置获取和设置属性的方法
2015/03/04 Javascript
javascript实现验证IP地址等相关信息代码
2015/05/10 Javascript
jQuery实现移动端滑块拖动选择数字效果
2015/12/24 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
2016/11/15 Javascript
vue实现添加标签demo示例代码
2017/01/21 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
2017/07/12 jQuery
详解 vue.js用法和特性
2017/10/15 Javascript
vue.js实现只弹一次弹框
2018/01/29 Javascript
vue数据初始化initState的实例详解
2019/04/11 Javascript
js对象数组和对象的使用实例详解
2019/08/27 Javascript
微信小程序 简易计算器实现代码实例
2019/09/02 Javascript
vue实现移动端input上传视频、音频
2020/08/18 Javascript
Linux CentOS Python开发环境搭建教程
2018/11/28 Python
Python PyQt5整理介绍
2020/04/01 Python
Python关键字及可变参数*args,**kw原理解析
2020/04/04 Python
Python如何实现机器人聊天
2020/09/10 Python
Superdry极度乾燥官网:日本街头风格,纯英国制造品牌
2016/10/31 全球购物
全球第二大家装零售商:Lowe’s
2018/01/13 全球购物
匡威爱尔兰官网:Converse爱尔兰
2019/06/09 全球购物
应届生船舶驾驶求职信
2013/10/19 职场文书
实习生个人找工作的自我评价
2013/10/30 职场文书
初中物理教学反思
2014/01/14 职场文书
年会活动策划方案
2014/01/23 职场文书
技术员个人工作总结
2015/03/03 职场文书
开会通知短信大全
2015/04/20 职场文书
有关水浒传的读书笔记
2015/06/25 职场文书
初一年级组工作总结
2015/08/12 职场文书
Python基础知识之变量的详解
2021/04/14 Python
Python Django ORM连表正反操作技巧
2021/06/13 Python