随机有8个字母数字字符

时间:2013-05-31 06:46:18

标签: javascript asp.net random

我有一个需要生成随机数的系统作为参考号。 这是我在JavaScript中使用的内容:

        function random() {
            return Math.floor(Math.random() * 100000000);
        }

这很好但我需要随机数为8个字符长。此代码生成8个字符的长数字,但有些实例只生成7个数字。

而且,"随机数"是否可能?可以是字母数字吗? 感谢

3 个答案:

答案 0 :(得分:3)

试试这个

function randomString(length, chars) {
  var mask = '';
  if (chars.indexOf('a') > -1) mask += 'abcdefghijklmnopqrstuvwxyz';
  if (chars.indexOf('A') > -1) mask += 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  if (chars.indexOf('#') > -1) mask += '0123456789';
  if (chars.indexOf('!') > -1) mask += '~`!@#$%^&*()_+-={}[]:";\'<>?,./|\\';
  var result = '';
  for (var i = length; i > 0; --i) 
     result += mask[Math.round(Math.random() * (mask.length - 1))];
  return result;
}

document.write(randomString(8, '#aA'));

Demo

答案 1 :(得分:0)

function makeid()
{
    var text = "";
    var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

    for( var i=0; i < 8; i++ )
        text += possible.charAt(Math.floor(Math.random() * possible.length));

    return text;
}

答案 2 :(得分:0)

试试这个:

function randomString()
{
var chars ="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
var result = '';
for (var i = 8; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))];
return result;
}
var radomNumber = randomString();