使用js Math.random()函数生成n到m间的随机数字

使用js Math.random()函数生成n到m间的随机数字,第1张

摘要:

本文讲解如何使用js生成n到m间的随机数字,主要目的是为后期的js生成验证码做准备。

Mathrandom()函数返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1)

生成n-m,包含n但不包含m的整数

第一步算出

m-n的值,假设等于w

第二步Mathrandom()w

第三步Mathrandom()w+n

第四步parseInt(Mathrandom()w+n,

10)

生成n-m,不包含n但包含m的整数:​

第一步算出

m-n的值,假设等于w

第二步Mathrandom()w

第三步Mathrandom()w+n

第四步Mathfloor(Mathrandom()w+n)

+

1

生成n-m,不包含n和m的整数:

第一步算出

m-n-2的值,假设等于w

第二步Mathrandom()w

第三步Mathrandom()w+n

+1

第四步Mathround(Mathrandom()w+n+1)

或者

Mathceil(Mathrandom()w+n+1)

生成n-m,包含n和m的随机数:

第一步算出

m-n的值,假设等于w

第二步Mathrandom()w

第三步Mathrandom()w+n

第四步Mathround(Mathrandom()w+n)

或者

Mathceil(Mathrandom()w+n)

例子:

生成800-1500的随机整数,包含800但不包含1500

复制代码

代码如下:

1500-800

=

700

Mathrandom()700

var

num

=

Mathrandom()700

+

800;

num

=

parseInt(num,

10);

只需要简单的四步就可以完成。

补充:

Mathceil()

返回大于等于数字参数的最小整数(取整函数),对数字进行上舍入

Mathfloor()

返回小于等于数字参数的最大整数,对数字进行下舍入

Mathround()

返回数字最接近的整数,四舍五入

实现多行字符串

strindexOf('i') // 获取第一个i的下标

strsubstr(1, 3) // 第一个为开始位置,第二为长度

strsubstring(1, 3) // 第一个为开始位置,第二为结束位置

得到一个两数之间的随机整数

例子:/^1\d{10}$/g

^ &为边界的匹配字符,其中有

最后的g为修饰符,其中有

\d 代表预定类,可以很方便的匹配。

使用大写则取反。如\D则为非数字字符

其中{10}表示量词,匹配10个符合要求的字符。

random 方法

返回介于 0 和 1 之间的伪随机数。

Mathrandom( )

说明

产生的伪随机数介于 0 和 1 之间(含 0,不含 1),也就是,返回值可能为0,但总是小于1。在第一次加载 JScript 时随机数发生器自动产生 。

通过这个方法可以得到一个随机数,然后把这个随机数截取成一位数,然后凑够8位数就行了。饿

代码不写了,给你个思路将比例中的分母对应到,全集,其中一部分就是你随机选取的子集例如:全集为 1000, 生成1-1000的随机数然后根据比例判断是那一部分,比如:三等奖选中机率千分之100,你可以设定 if(1<=随机数<=100) SS=‘三等奖’ 二等奖选中机率千分之50,你可以设定 if(101<=随机数<=150) SS=‘二等奖’所有奖项总和=1000 根据具体情况具体再调整一下即可!

var rand = Mathfloor(Mathrandom () 900) + 100;

首先新建一个测试网页,里面没有什么多余的内容。

在网页中写一个label  input框 一个按钮。

预览一下效果。我们要实现的功能就是,点击一下获取验证码按钮,生成6位随机数写入到input框中。

在网页中添加必要的script便签。为按钮添加单击事件。写产生验证码的js。只有简单的3行,就不过多的解释。

预览一下效果。

想要生成4位的或者其他位的只需要将6改为其他的数字即可。

以上就是关于使用js Math.random()函数生成n到m间的随机数字全部的内容,包括:使用js Math.random()函数生成n到m间的随机数字、JS中字符串 *** 作,生成随机数,正则表达式、如何在javascript中随机产生一个8位数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9733881.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存