当前位置 : 主页 > 编程语言 > c++ >

java获取纯数字或纯字母货数字+字母

来源:互联网 收集:自由互联 发布时间:2021-06-30
获取纯数字或纯字母货数字+字母 /*** 创建时间:2014年12月30日 下午7:40:00* 方法描述:获取纯数字或纯字母货数字+字母* @param number 获取几位的随机数* @param type N是获取number位的纯数字,
获取纯数字或纯字母货数字+字母
/**
* 创建时间:2014年12月30日 下午7:40:00
* 方法描述:获取纯数字或纯字母货数字+字母
* @param number 获取几位的随机数
* @param type N是获取number位的纯数字,c是获取number位的纯小写字母,C是获取number位的纯大写字母,
* 			   NC或CN是获取number位的数字和大写字母组合,Nc和cN获取小写;NCc,cCN,NcC随机获取数字和大小写字母
*/
public static String getRandom(int number, String type) {
		String str = "";
		Random random = new Random();
		if (type.equals("N")) {//数字
			for (int i = 0; i < number; i++) {
				str += Math.abs(random.nextInt())%9;
			}
		} else if (type.equals("c")) {//小写字母
			for (int i = 0; i < number; i++) {
				str += (char)(Math.random()*26 + 97);
			}
		} else if (type.equals("C")) {//大写字母
			for (int i = 0; i < number; i++) {
				str += (char)(Math.random()*26 + 65);
			}
		} else if (type.equals("Nc") || type.equals("cN")) {//数字+小写字母
			for (int i = 0; i < number; i++) {
				if (Math.abs(random.nextInt())%2 == 0){
					str += Math.abs(random.nextInt())%9;
				} else {
					str += ((char)(Math.random()*26 + 97));
				}
			}
			if (str.matches("\\d*") || str.matches("[a-z]*")) {
				getRandom(number, type);
			}
		} else if (type.equals("NC") || type.equals("CN")) {//数字+大写字母
			for (int i = 0; i < number; i++) {
				if (Math.abs(random.nextInt())%2 == 0){
					str += Math.abs(random.nextInt())%9;
				} else {
					str += ((char)(Math.random()*26 + 65));
				}
			}
			if (str.matches("\\d*") || str.matches("[A-Z]*")) {
				getRandom(number, type);
			}
		} else if (type.equals("NCc") || type.equals("cCN") || type.equals("NcC")) {//数字+小写字母+大写字母
			for (int i = 0; i < number; i++) {
				if (Math.abs(random.nextInt())%3 == 0){
					str += Math.abs(random.nextInt())%9;
				} else if (Math.abs(random.nextInt())%3 == 1) {
					str += ((char)(Math.random()*26 + 97));
				} else {
					str += ((char)(Math.random()*26 + 65));
				}
			}
			if (str.matches("\\d*") || str.matches("[a-z]*") || str.matches("[A-Z]*")) {
				getRandom(number, type);
			}
		}
		return str;
	}
网友评论