特殊(字母+数字)随机数

随机数很简单,字母加数字也很简单,但是特殊的字母+数字就是个别字母和数字不需要,害怕混淆。比如Z和2

最终效果是:两个数字加四个字母         做法是: 先随机两个数字,再随机四个字母,两者拼接成一个字符串。最后把该字符串打乱重新随机组合该字符串

用前端js写的:

random: function (num) {
      var size1= '356789';
var size2 = 'ABCDEFGHJKMNPQRSTUVWXY';
var size3=['1','2','3','4','5','6']; var result=''; var res=[]; var lenReg=[]; for(var i=0;i<2;i++){ result += size1.split('')[parseInt(Math.random()*6)]; } for(var j=0;j<4;j++){ result += size2.split('')[parseInt(Math.random()*22)]; } for(var k=0;k<num;k++){ var len=size3.length-1; var index =parseInt(Math.random()*len); lenReg[k]= size3[index]; size3.splice(index,1) res[lenReg[k]-1]=result.split('')[k] } res=res.join(''); return res; }

用后端Java写的

public static String getRandomCode() {
    String number = "356789";
    String letter = "ABCDEFGHJKMNPQRSTUVWXY";
    Random rand = new Random();
    StringBuffer flag = new StringBuffer();
    for (int i = 0; i < 2; i++) {
      flag.append(number.charAt(rand.nextInt(6)) + "");
    }
    for (int j = 0; j < 4; j++) {
      flag.append(letter.charAt(rand.nextInt(22)) + "");
    }
    char[] chars = flag.toString().toCharArray();
    List<Character> list = new ArrayList<>();
    for (int k = 0; k < chars.length; k++) {
      list.add(chars[k]);
    }
    Collections.shuffle(list);
    return StringUtils.join(list, "");
  }

  

原文地址:https://www.cnblogs.com/zlw-xf/p/8395390.html