zoukankan      html  css  js  c++  java
  • Java随机字符串:随机数字字符串,工具类

    Java中生成随机数,字符串的工具类

    1. 调用方法需要传入生成字符串的长度和需要的类型

      生成随机数字

      生成随机字母字符串

      生成随机字符串+数字等

        .........

    2. 总共8种类型,具体看工具类中的注释。

     1 import java.util.Date;
     2 import java.util.Random;
     3 import java.util.UUID;
     4 
     5 /**
     6  * @Name RandomStringUtil
     7  * @Descr 生成随机字符串
     8  * @author lnexin@aliyun.com
     9  * @date 2015年10月15日下午2:36:05
    10  */
    11 public class RandomStringUtil {
    12     /**
    13      * @param passLength
    14      *            : 要生成多少长度的字符串
    15      * @param type
    16      *            : 需要哪种类型
    17      * @return 根据传入的type来判定
    18      */
    19     
    20     // 可以根据自己需求来删减下面的代码,不要要的类型可以删掉
    21      
    22     // type=0:纯数字(0-9)
    23     // type=1:全小写字母(a-z)
    24     // type=2:全大写字母(A-Z)
    25     // type=3: 数字+小写字母
    26     // type=4: 数字+大写字母
    27     // type=5:大写字母+小写字母
    28     // type=6:数字+大写字母+小写字母
    29     // type=7:固定长度33位:根据UUID拿到的随机字符串,去掉了四个"-"(相当于长度33位的小写字母加数字)
    30 
    31     public static String getRandomCode(int passLength, int type) {
    32         StringBuffer buffer = null;
    33         StringBuffer sb = new StringBuffer();
    34         Random r = new Random();
    35         r.setSeed(new Date().getTime());
    36         switch (type) {
    37         case 0:
    38             buffer = new StringBuffer("0123456789");
    39             break;
    40         case 1:
    41             buffer = new StringBuffer("abcdefghijklmnopqrstuvwxyz");
    42             break;
    43         case 2:
    44             buffer = new StringBuffer("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
    45             break;
    46         case 3:
    47             buffer = new StringBuffer("0123456789abcdefghijklmnopqrstuvwxyz");
    48             break;
    49         case 4:
    50             buffer = new StringBuffer("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ");
    51             break;
    52         case 5:
    53             buffer = new StringBuffer("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
    54             break;
    55         case 6:
    56             buffer = new StringBuffer("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
    57             sb.append(buffer.charAt(r.nextInt(buffer.length() - 10)));
    58             passLength -= 1;
    59             break;
    60         case 7:
    61             String s = UUID.randomUUID().toString();
    62             sb.append(s.substring(0, 8) + s.substring(9, 13) + s.substring(14, 18) + s.substring(19, 23) + s.substring(24));
    63         }
    64 
    65         if (type != 7) {
    66             int range = buffer.length();
    67             for (int i = 0; i < passLength; ++i) {
    68                 sb.append(buffer.charAt(r.nextInt(range)));
    69             }
    70         }
    71         return sb.toString();
    72     }
    73 }
  • 相关阅读:
    Set.prototype (Set) – JavaScript 中文开发手册
    wordpress插件 : 利用Max Mega Menu实现二级菜单的伸缩
    HTML textarea placeholder 属性
    Number.parseInt (Number) – JavaScript 中文开发手册
    Java 实例 – 获取 URL响应头的日期信息
    PHP date_default_timezone_set() 函数
    SIMD.fromInt32x4Bits (SIMD) – JavaScript 中文开发手册
    使用 mysql_random_data_load 生成随机数据
    python基本数据类型
    day02代码
  • 原文地址:https://www.cnblogs.com/applerosa/p/5964482.html
Copyright © 2011-2022 走看看