js(JavaScript) 取任意长度随机字符串

使用js中使用随机函数

  • Math.random() 是可以生成一个0~1之间 的十六位小数.
    console.log(Math.random()) //0.3543794115500851

将数值转为字符串

  1. NumberObject.toString(radix).
  2. radix为可选。规定表示数字的基数,使 2 ~ 36 之间的整数。若省略该参数,则使用基数 10。但是要注意,如果该参数是 10 以外的其他值,则 ECMAScript 标准允许实现返回任意值.
  3. 例如,当 radix 为 2 时,NumberObject 会被转换为二进制值表示的字符串.
  4. toString(36) 后面数字范围是2-36,如果写toString(35) 则范围是0-9a-y,没有z的35位数字字符,依次类推.
  5. 参数应该是转换为进制的基数(具体不是很清楚,有待研究)

使用 str.substr() 截取字符串

  1. str.substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符.
  2. 语法:stringObject.substr(start,length).
  3. 返回值:是一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到 stringObject 的结尾的字符.
  4. substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。

简单的截取一个随机字符串(数字类型)

  1. Math.random().toString(10).substr(2,5); //获取5位随机数字. 如 56520
  2. Math.random().toString(36).substr(2,4); //获取4位随机字符(0-9a-z 36进制数字字符 ) 如 : uu5i2

生成指定长度的随机字符串

function randomStr(length) {
 //定义随机数的取值字符数组
 const str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  //定义返回值
  let result = '';
  //遍历
  for(let i = 0; i<length; i++){
   // 取随机下标
   let index = Math.floor(Math.random() * str.length);
   //拼接在result后面
   result += str[index];
 }
 //返回
 return result;

}

posted @ 2022-05-06 15:33  烽火戏诸猴  阅读(705)  评论(2)    收藏  举报