`
zjx2388
  • 浏览: 1333806 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA生成简单的随机字符串(a-zA-Z0-9)

    博客分类:
  • J2SE
阅读更多
package com.test.util;

import java.util.Random;

public class CharacterUtils {

	public static String getRandomString(int length){
		String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
		Random random = new Random();
		StringBuffer sb = new StringBuffer();
		
		for(int i = 0 ; i < length; ++i){
			int number = random.nextInt(62);//[0,62)
			
			sb.append(str.charAt(number));
		}
		return sb.toString();
	}
	
	public static String getRandomString2(int length){
		Random random = new Random();
		
		StringBuffer sb = new StringBuffer();
		
		for(int i = 0; i < length; ++i){
			int number = random.nextInt(3);
			long result = 0;
			
			switch(number){
			case 0:
				result = Math.round(Math.random() * 25 + 65);
				sb.append(String.valueOf((char)result));
				break;
			case 1:
				result = Math.round(Math.random() * 25 + 97);
				sb.append(String.valueOf((char)result));
				break;
			case 2:
				sb.append(String.valueOf(new Random().nextInt(10)));
				break;
			}
		}
		return sb.toString();	
	}

	public static void main(String[] args){
		System.out.println(getRandomString(10));
		System.out.println(getRandomString2(10));
	}
}

 以上是自己写随机方法

推荐使用Apache的commons-lang.jar包中的org.apache.commons.lang.RandomStringUtils类产出随机数;

例如:

RandomStringUtils.randomAlphanumeric(10);

分享到:
评论
2 楼 kay11 2016-12-06  
1 楼 java_ganbin 2011-12-12  

相关推荐

    Java根据正则表达式生成字符串—Xeger,automaton

    String regex = "^[a-zA-Z0-9]+$"; Xeger generator = new Xeger(regex); String randomString = generator.generate(); System.out.println(randomString); } } ``` 在这个例子中,我们创建了一个Xeger实例,...

    获取同时含有数字、大写字母、小写字母的随机字符串

    =.*[A-Z])[a-zA-Z\d]+$" # 包含数字、小写字母和大写字母的正则表达式 return bool(re.match(pattern, random_str)) # 验证生成的字符串 is_valid = validate_string(random_str) print(is_valid) ``` 在这个示例...

    java Xeger 根据正则表达式生成满足的随机数据

    例如,如果你有一个正则表达式"^[a-zA-Z0-9]{5,10}$",它表示一个由5到10个字母或数字组成的字符串。Xeger会根据这个规则生成长度在5到10之间的随机字母数字串。 在Java中使用Xeger,首先需要引入Apache Commons ...

    elalr 语法分析代码&正则生成器(将正则编译成易语言)-易语言

    ([a-zA-Z_]|[\x81-\xfe][\x40-\xfe])([a-zA-Z0-9_]|[\x81-\xfe][\x40-\xfe])* 原理是通过正则表达式的AST直接构造DFA自动机 下面是elalr解析形如 add(1, add(...) , ...) + (12*4) *4 这样的表达式的文法 通过这样的...

    java 银行卡 验证 正则表达式使用

    String regexEmail = "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"; ``` 这个表达式会匹配大部分合法的邮箱地址。 最后,URL地址验证。URL通常包含协议(http、https等)、主机名、路径和可选的查询参数...

    将内容中的符合url格式的字符串转换为超链接(JAVA版)

    String urlRegex = "^(https?|ftp)://[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}(/\\S*)?"; ``` 这个正则表达式可以匹配大部分常见的URL格式。 接下来,我们将创建一个方法,该方法接收一段文本,查找其中符合URL格式的字符串...

    JAVA常用正则能用的 -- 色色尝试过的 -- 非网上传播的垃圾版本的

    Pattern pattern = Pattern.compile("^[a-zA-Z0-9]+$"); ``` 这个模式表示只包含字母和数字的字符串。 2. **匹配与查找** 创建模式后,可以使用`Matcher`类的`matches()`或`find()`方法来检查字符串是否符合...

    java 常用工具类(csdn)————程序.pdf

    \\.)+[a-zA-Z]{2,}$" 是一个基本的邮箱格式验证规则,可以识别大部分有效的电子邮件地址。 这些工具类方法在实际开发中有着广泛的应用。例如,验证码生成常用于网站登录验证、邮箱验证用于确保用户输入的电子邮件...

    regxlar:用于从常规语法中随机生成字符串的 Java 库

    让我们为电子邮件地址使用一个简单的正则表达式: [a-z0-9]{5,10}\\.[a-zA-Z0-9]{5,10}\\@[a-z0-9]{5,10}\\.[az]{2,4} . 使用 Regxlar,您现在可以生成与此正则表达式匹配的字符串。 如果您需要生成可重复的字符串,...

    用java判断用户名长度和必须有哪些组成

    - `[A-Za-z\\d]{6,20}`:6到20个字母或数字 3. **工具类使用**: Java提供了一些内置工具类可以帮助我们进行字符串验证,比如`java.util.regex.Pattern`和`java.util.regex.Matcher`。`Pattern`用于编译正则...

    正则表达式生成器

    例如,如果你想验证一个邮箱地址,可以使用生成器提供的邮箱格式模板,它会自动构建出如"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"这样的正则表达式。这个表达式可以匹配大部分常见的邮箱格式。 此外,...

    JAVA正则表达式实例教程

    1. 验证邮箱格式:可以使用`^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$`这样的正则表达式来验证输入的邮箱地址是否合法。 2. 验证手机号码:对于中国的手机号码,可以使用`^1[3-9]\d{9}$`进行验证。 3. ...

    判断String是否是字母

    结合这两部分,`[a-zA-Z]*` 正则表达式的意思就是“由零个或多个英文字母组成的字符串”。 #### 三、Pattern 类与 Matcher 类的使用 在代码中,通过 `Pattern.compile("[a-zA-Z]*")` 创建了一个模式对象。`Pattern...

    Java实现词法分析

    } else if (token.matches("[a-zA-Z_][a-zA-Z0-9_]*")) { System.out.println("Identifier: " + token); } else { System.out.println("Other: " + token); } } } } } ``` 然而,`Scanner`对于复杂的词法...

    Java_正则表达式详解

    - 验证邮箱:^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$。 - 验证手机号:^1[3-9]\d{9}$。 5. jExcelAPI库: - jExcelAPI是一个用于读写Microsoft Excel文件的Java库。 - 可以通过它将正则表达式匹配的...

    Checkcode.java

    可以使用此代码来实现注册或登录时动态生成验证码,字符范围是a-zA-Z以及从0到9,随机生成四个字符,并且有图形,直线等作为扰乱。

    根据正则生成测试数据

    例如,如果正则表达式是`"[a-zA-Z]{3,5}"`,那么函数应该生成3到5个大写或小写字母组成的字符串。 ```java import java.util.Random; import java.util.regex.Matcher; import java.util.regex.Pattern; public ...

    Java正则表达式例子_非JavaScript

    - `\W`:等价于`[^a-zA-Z0-9_]`,匹配非单词字符。 - `\s`:匹配任何空白符,包括空格、制表符、换页符等。 - `\S`:匹配任何非空白符。 7. **边界匹配器**: - `^`:匹配输入字符串的开始位置。 - `$`:匹配...

    2021-2022计算机二级等级考试试题及答案No.15719.docx

    ^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$ ``` 这个正则表达式的解释如下: - `^` 表示匹配字符串的开始。 - `\w+` 匹配一个或多个字母、数字或下划线。 - `@` 匹配邮箱地址中的'@'符号。 - `[a-zA-Z_]+?` 匹配一个或多个...

Global site tag (gtag.js) - Google Analytics