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);
分享到:
相关推荐
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) ``` 在这个示例...
例如,如果你有一个正则表达式"^[a-zA-Z0-9]{5,10}$",它表示一个由5到10个字母或数字组成的字符串。Xeger会根据这个规则生成长度在5到10之间的随机字母数字串。 在Java中使用Xeger,首先需要引入Apache Commons ...
([a-zA-Z_]|[\x81-\xfe][\x40-\xfe])([a-zA-Z0-9_]|[\x81-\xfe][\x40-\xfe])* 原理是通过正则表达式的AST直接构造DFA自动机 下面是elalr解析形如 add(1, add(...) , ...) + (12*4) *4 这样的表达式的文法 通过这样的...
String regexEmail = "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"; ``` 这个表达式会匹配大部分合法的邮箱地址。 最后,URL地址验证。URL通常包含协议(http、https等)、主机名、路径和可选的查询参数...
String urlRegex = "^(https?|ftp)://[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}(/\\S*)?"; ``` 这个正则表达式可以匹配大部分常见的URL格式。 接下来,我们将创建一个方法,该方法接收一段文本,查找其中符合URL格式的字符串...
Pattern pattern = Pattern.compile("^[a-zA-Z0-9]+$"); ``` 这个模式表示只包含字母和数字的字符串。 2. **匹配与查找** 创建模式后,可以使用`Matcher`类的`matches()`或`find()`方法来检查字符串是否符合...
\\.)+[a-zA-Z]{2,}$" 是一个基本的邮箱格式验证规则,可以识别大部分有效的电子邮件地址。 这些工具类方法在实际开发中有着广泛的应用。例如,验证码生成常用于网站登录验证、邮箱验证用于确保用户输入的电子邮件...
让我们为电子邮件地址使用一个简单的正则表达式: [a-z0-9]{5,10}\\.[a-zA-Z0-9]{5,10}\\@[a-z0-9]{5,10}\\.[az]{2,4} . 使用 Regxlar,您现在可以生成与此正则表达式匹配的字符串。 如果您需要生成可重复的字符串,...
- `[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,}$"这样的正则表达式。这个表达式可以匹配大部分常见的邮箱格式。 此外,...
1. 验证邮箱格式:可以使用`^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$`这样的正则表达式来验证输入的邮箱地址是否合法。 2. 验证手机号码:对于中国的手机号码,可以使用`^1[3-9]\d{9}$`进行验证。 3. ...
结合这两部分,`[a-zA-Z]*` 正则表达式的意思就是“由零个或多个英文字母组成的字符串”。 #### 三、Pattern 类与 Matcher 类的使用 在代码中,通过 `Pattern.compile("[a-zA-Z]*")` 创建了一个模式对象。`Pattern...
} else if (token.matches("[a-zA-Z_][a-zA-Z0-9_]*")) { System.out.println("Identifier: " + token); } else { System.out.println("Other: " + token); } } } } } ``` 然而,`Scanner`对于复杂的词法...
- 验证邮箱:^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$。 - 验证手机号:^1[3-9]\d{9}$。 5. jExcelAPI库: - jExcelAPI是一个用于读写Microsoft Excel文件的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 ...
- `\W`:等价于`[^a-zA-Z0-9_]`,匹配非单词字符。 - `\s`:匹配任何空白符,包括空格、制表符、换页符等。 - `\S`:匹配任何非空白符。 7. **边界匹配器**: - `^`:匹配输入字符串的开始位置。 - `$`:匹配...
^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$ ``` 这个正则表达式的解释如下: - `^` 表示匹配字符串的开始。 - `\w+` 匹配一个或多个字母、数字或下划线。 - `@` 匹配邮箱地址中的'@'符号。 - `[a-zA-Z_]+?` 匹配一个或多个...