Estoy tratando de generar una identificación de usuario única aleatoria para uno de mis proyectos y descubrí que Zerodha tiene identificaciones de usuario muy fáciles de recordar.
En la ID de usuario de Zerodha: los dos primeros caracteres son alfabetos y luego los cuatro caracteres son números.
¿Cómo hacer Id's Like Zerodha: "AC1940" , "AZ9940" , "YM1300" , etc.?
Quería que fueran únicos y fáciles de recordar.
Gracias.
Puede generar alfabetos y números aleatorios a partir del código ASCII y la función Math.random() y unirlos en una cadena.
const generateCharacter = (base, range) => String.fromCharCode(base + Math.floor(Math.random() * range)), userId = Array.from({length: 2}, () => generateCharacter(65, 26)).join('') + Array.from({length: 4}, () => generateCharacter(48, 10)).join(''); console.log(userId);Con respecto a los métodos de chicos, esas no son formas estándar para una identificación aleatoria única. una de las formas estándar y mejores de obtener métodos aleatorios y estándar para eso es UUID.
EDITADO:
puede usar este paquete uuid nodejs para instalar y obtener la identificación aleatoria única de uuid correctamente.
Puede crear un número aleatorio de 6 dígitos como
var randomNumber = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min; function generateUUID() { const alphabets = [0, 1]; return Array.from({ length: 6 }, (_, i) => { return alphabets.includes(i) ? String.fromCharCode(randomNumber(65, 90)) : randomNumber(0, 9); }).join(""); } console.log( generateUUID() );