前端JS生成随机数(字母加数字)

 自己想了一个比较简单的办法,没有用ASCII码转换。转换方法: String.fromCharCode(...number),类似于Java的(char)number。

created() {
    let total = 15;
    console.log('生成的长度:',total);
    for (let i = 0; i < 10; i++) {
        console.log(this.generateRandomNumbers(total));
    }
},

 

/**
 * 方法作用: 生成随机数
 * 创建时间: 2019-05-28
 * 创建人:Cr
 * @param total  要生成的长度 / 几位随机数
 * */
generateRandomNumbers(total){
  let that = this;
  // 如果不传total或者传0,设置成10位。
  total = total == undefined || total == 0  ? 10 : total;
  let str = '';
  for (let i = 0; i < total; i++) {
    let number = parseInt(Math.random() * 35);
    // 当前生成的随机数大于等于10则进行转换。
    if(number >= 10){
      str += that.numberConvertEnglishLetters(number);
    }else{
      str += number.toString();
    }
  }
  return str;
},


/**
 * 方法作用: 数字转换成英文字母
 *
 * 创建时间: 2019-05-28
 *
 * 创建人:Cr
 * */
numberConvertEnglishLetters(number){
  let map = this.numberConvertEnglishLettersMap();
  for (let i = 0; i < map.length; i++) {
    if(map[i].key == number){
      return map[i].value;
    }
  }
},

/**
 * 方法作用: 数字转换成英文字母的映射关系Map
 *
 * 创建时间: 2019-05-28
 *
 * 创建人:Cr
 * */
numberConvertEnglishLettersMap(){
  return [
    {'key':10,'value':'a'},
    {'key':11,'value':'b'},
    {'key':12,'value':'c'},
    {'key':13,'value':'d'},
    {'key':14,'value':'e'},
    {'key':15,'value':'f'},
    {'key':16,'value':'g'},
    {'key':17,'value':'h'},
    {'key':18,'value':'i'},
    {'key':19,'value':'j'},
    {'key':20,'value':'k'},
    {'key':21,'value':'l'},
    {'key':22,'value':'m'},
    {'key':23,'value':'n'},
    {'key':24,'value':'o'},
    {'key':25,'value':'p'},
    {'key':26,'value':'q'},
    {'key':27,'value':'r'},
    {'key':28,'value':'s'},
    {'key':29,'value':'t'},
    {'key':30,'value':'u'},
    {'key':31,'value':'v'},
    {'key':32,'value':'w'},
    {'key':33,'value':'x'},
    {'key':34,'value':'y'},
    {'key':35,'value':'z'},
  ];
},

附上效果图:

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值