.js文件中的随机字符

时间:2011-01-01 21:29:29

标签: javascript math getelementbyid var

这是字符:"*+-/";

Javascript getElementById

我如何"randt"成为1个随机字符?

所以,如果我输入:

document.getElementById("sms-text").innerHTML = "" + random2 + randt;

适用于前"22*""51+"

我该怎么做?

6 个答案:

答案 0 :(得分:2)

如果我理解你的问题,你会得到0-3的随机数字,然后找到那个位置的字符;

var signs = "*+-/";

var signId = Math.floor(Math.random() * signs.length);

var sign = signs.charAt(signId);

答案 1 :(得分:2)

var str = "*+-/";
var random_char = str[Math.floor(Math.random() * str.length)];

正如其他答案所指出的那样,str.charAt()也会起作用。

答案 2 :(得分:1)

使用Math.random()Math.floor()的组合非常简单:

var chars = "*+-/",
    randt = chars[Math.floor(Math.random() * 4)];

请注意,如果您不知道4中有多少字符,则可以将chars.length替换为chars

答案 3 :(得分:1)

只需抓住一个从0到字符串长度的随机数,然后像这样切出char

var chars = "+-/";
var char = chars[Math.floor(Math.random() * chars.length)];

使用char将是随机字符

或者你可以像这样将

String.prototype.randChar = function()
{
    return this[Math.floor(Math.random() * this.length)];
}

然后在任何创建的字符串中,您可以像这样使用

char = "+-.".randChar();

答案 4 :(得分:1)

这与您提到before的问题基本相同,只是区别在于您使用的是innerHTML而不是document.write。生成字符串的方法是相同的,所以你可以使用我之前的答案中的函数:

function makeid(lastNumber) {
  var possible = "*+-/";
  return lastNumber + possible.charAt(Math.floor(Math.random() * possible.length));
}

用法:

document.getElementById("sms-text").innerHTML = makeid(random2);

答案 5 :(得分:0)

var randt=['*','+','-','/'][Math.floor(Math.random()*4)];