作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<html>
<head>
</head>
<body>
<input type="Textbox" id="pwbx" />
<button OnClick="GetRandom()" type="button">generate</button>
<script>
function getCharacter() {
return Math.floor(Math.random() * 18).toString(18);
}
for( var str="", i=0, l=14+Math.floor(Math.random()*3); i<l; i++) {
str += getCharacter();
}
</script>
</body>
</html>
这给了我一个小于 1 的随机数,比如 0.4567432112 等。
我将如何更改它以给我一个 14 到 16 个字符的字符串,随机字母数字?那么由 abcdefgh0123456789 组成的 14、15 或 16 个字符的字符串?
谢谢
最佳答案
字符范围 0123456789abcdef
将是八进制数字(基数为 18 的数字),因此您可以这样做:
function getCharacter() {
return Math.floor(Math.random() * 18).toString(18);
}
现在做 14-16 次:
for( var str="", i=0, l=14+Math.floor(Math.random()*3); i<l; i++) {
str += getCharacter();
}
关于javascript - 如何在 math.random 上指定范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27037096/
我是一名优秀的程序员,十分优秀!