2

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

Javascript getElementById

我该怎么做"randt"才能成为 1 个随机字符?

所以如果我输入:

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

这将是前任"22*""51+"

我该怎么做?

4

6 回答 6

2

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

var signs = "*+-/";

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

var sign = signs.charAt(signId);
于 2011-01-01T21:35:47.797 回答
2
var str = "*+-/";
var random_char = str[Math.floor(Math.random() * str.length)];

正如其他答案所指出的那样,str.charAt()也可以。

于 2011-01-01T21:36:45.607 回答
1

这与您之前提出的问题基本相同,只是您使用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);
于 2011-01-01T21:55:27.193 回答
1

Math.random()使用和的组合很简单Math.floor()

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

请注意,4如果chars.length您不知道chars.

于 2011-01-01T21:35:44.810 回答
1

只需抓取一个从 0 到字符串长度的随机数,然后像这样将字符剪掉

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

usingchar将是随机字符

或者,您可以像这样将 rand 方法添加到原型中

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

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

char = "+-.".randChar();
于 2011-01-01T21:37:34.177 回答
0
var randt=['*','+','-','/'][Math.floor(Math.random()*4)];
于 2011-01-01T21:36:55.307 回答