to generate a unique number id, Date.now() will help,
to make it text + number, use toString(Math.floor(Math.random() * 22) + 15)
full program:
const generateID = () =>
Date.now().toString(Math.floor(Math.random() * 20) + 17);
const btnGenerate = document.getElementById('generateID');
const generateIDTXT = document.getElementById('generateidtxt');
const copy = document.getElementById('copy');
btnGenerate.addEventListener('click', () => {
generateIDTXT.value = generateID();
});
* {
margin: 0;
padding: 0;
font-family: Arial, Helvetica, sans-serif;
}
button {
background-color: #54fdae;
padding: 5px;
margin: 10px;
border: 0;
border-radius: 3px;
outline: 0;
cursor: pointer;
}
button:hover {
background-color: #32ee9a;
}
input {
border: 0;
border-bottom: 1px solid #000;
padding: 3px;
margin: 10px;
outline: 0;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Generate Random ID</title>
</head>
<body>
<button id="generateID">Generate ID</button>
<input type="text" id="generateidtxt" />
</body>
</html>
note: this is 8 - 10 words numbers / letters and this is basically impossible to generate 2 same ids except if 2 people press the button at the same time AND the random number between 17 - 36 is the same number