如何生成唯一ID并将其显示在文本框中?

时间:2013-06-05 19:48:37

标签: javascript asp.net

当我点击生成ID按钮时,我如何在每次点击它时生成一个唯一的ID并将其显示在旁边的文本框中?假设按钮id是" generateID"和textbox id是" generateidtxt"?它可以是所有数字或与字母混合。也许是8到10个字符。我只是需要它每次都不同而且永远不会重复。

enter image description here

3 个答案:

答案 0 :(得分:0)

如果您正在寻找.net方式,请在按钮上单击即可 myTextBox.Text = System.Guid.NewGuid();

NewGuid将为您生成一个新的guid,几乎可以保证每次运行都是唯一的。更多一个guid http://msdn.microsoft.com/en-us/library/system.guid.aspx

答案 1 :(得分:0)

var btn = document.getElementById("generateID").onclick = function(){
    var id = Math.floor(Math.random()  * 10000);
    document.getElementById("generateID").value = id;
}

答案 2 :(得分:0)

要生成唯一的编号ID,Date.now()将有帮助 要使其为文字+数字,请使用toString(Math.floor(Math.random() * 22) + 15) 完整程序:

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>

注意:这是8到10个单词的数字/字母,基本上不可能生成2个相同的ID,除非2个人同时按下按钮 AND 17-36之间的随机数是相同的数字