javascript创建含数字字母的随机字符串方法总结

 更新时间:2016年08月01日 15:06:31   投稿:daisy  
如果想创建一个含有数字、字母(大小写)或者符号的字符串,比如从[a-zA-Z0-9]集合中中创建一个随机的字符串,长度为5.有没有什么比较好的代码呢?本文提供了几种方法,包括自动改变字符集合。一起来学习下。

第一种:

//code from http://caibaojian.com/js-random-string.html
function makeid()
{
  var text = "";
  var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

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

  return text;
}

第二种:不需要输入字符集合

function randomstring(L){
  var s= '';
  var randomchar=function(){
   var n= Math.floor(Math.random()*62);
   if(n<10) return n; //1-10
   if(n<36) return String.fromCharCode(n+55); //A-Z
   return String.fromCharCode(n+61); //a-z
  }
  while(s.length< L) s+= randomchar();
  return s;
}

alert(randomstring(5))

第三种:支持自定义字符长度和特征字符集合

function randomString(len, charSet) {
  charSet = charSet || 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
  var randomString = '';
  for (var i = 0; i < len; i++) {
   var randomPoz = Math.floor(Math.random() * charSet.length);
   randomString += charSet.substring(randomPoz,randomPoz+1);
  }
  return randomString;
}

Call with default charset [a-zA-Z0-9] or send in your own:

var randomValue = randomString(5);

var randomValue = randomString(5, 'PICKCHARSFROMTHISSET');

演示截图

以上就是javascript创建含数字字母的随机字符串的三种方法总结,有需要的可以参考学习。

相关文章

最新评论