一、随机生成有大小写字母/数字组成的字符串
如果有其他好的想法欢迎留言…
package com.sucsoft.organization.utils;
import java.util.Random;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class AlphaNumericUtil {
public static boolean isAlphaNumeric(String s) {
Pattern pattern = Pattern.compile("[0-9a-zA-Z_]+");
Matcher matcher = pattern.matcher(s);
return matcher.matches();
}
public static String pwdRandomGenerate() {
StringBuffer sb = new StringBuffer();
Random random = new Random();
do {
int rd = random.nextInt(3);
switch (rd) {
case 0:
char c1 = (char) (random.nextInt(26) + 'a');
sb.append(c1);
break;
case 1:
char c2 = (char) (random.nextInt(26) + 'A');
sb.append(c2);
break;
case 2:
int c3 = random.nextInt(10);
sb.append(c3);
break;
default:
break;
}
} while (!(sb.length() == 8 && isAlphaNumeric(sb.toString())));
return sb.toString();
}
}