resumen:
Este artículo explica cómo usar JS para generar números aleatorios entre N y M. El objetivo principal es prepararse para la generación posterior de códigos de verificación JS.
La función Math.random () devuelve un número pseudo-aleatorio entre 0 y 1, que puede ser 0, pero siempre es inferior a 1, [0,1)
Generar nm, enteros que contienen n pero no m:
El primer paso es calcular el valor de Mn, suponiendo que sea igual a W
Paso 2 Math.random ()*W
Paso 3 Math.random ()*W+N
Paso 4 Parseint (Math.random ()*W+N, 10)
Generar nm, enteros que no contienen n pero contienen m:
El primer paso es calcular el valor de Mn, suponiendo que sea igual a W
Paso 2 Math.random ()*W
Paso 3 Math.random ()*W+N
Paso 4 Math.floor (Math.random ()*W + N) + 1
Genere nm, enteros que no contienen N y M:
El primer paso es calcular el valor de Mn-2, suponiendo que sea igual a W
Paso 2 Math.random ()*W
Paso 3 Math.random ()*W +N +1
Paso 4 Math.round (Math.random ()*W+N+1) o Math.Ceil (Math.random ()*W+N+1)
Genere NM, números aleatorios que contengan N y M:
El primer paso es calcular el valor de Mn, suponiendo que sea igual a W
Paso 2 Math.random ()*W
Paso 3 Math.random ()*W+N
Paso 4 Math.round (Math.random ()*W+N) o Math.Ceil (Math.random ()*W+N)
ejemplo:
Genere enteros aleatorios de 800-1500, que contienen 800 pero no 1500
La copia del código es la siguiente:
1500-800 = 700
Math.random ()*700
var num = Math.random ()*700 + 800;
num = parseint (num, 10);
Solo se necesitan cuatro pasos simples para completar.
Reponer:
Math.Ceil () Devuelve el entero más pequeño mayor o igual que el parámetro numérico (función de redondeo), redondeando el número numérico
Math.floor () Devuelve el entero máximo menor o igual al parámetro numérico, redondeando el número
Math.round () Devuelve el entero más cercano al número, redondeado
PD: Aquí hay dos herramientas en línea relacionadas para su referencia:
Número aleatorio/herramienta de generación de cadenas en línea:
http://tools.vevb.com/aideddesign/suijishu
Generador de contraseñas de alta resistencia:
http://tools.vevb.com/password/createstrontepassword