正则表达式
介绍:一个简单的 Java 正则工具类,其中包含了对用户名和密码的正则表达式。
要求:用户名的正则表达式:4至8位,只能为单独的英文或中文(中文的话为2至4位),英文可以加下划线。
密码的正则表达式:6至12位,包含字母、数字、特殊字符。
public class RegexUtil { // 用户名的正则表达式:4至8位,只能为单独的英文或中文(中文的话为四位) private static final String USERNAME_REGEX = "^([a-zA-Z_]{4,8}|[\\u4E00-\\u9FA5]{2,4})$"; // 密码的正则表达式:6至12位,包含字母、数字、特殊字符 private static final String PASSWORD_REGEX = "^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[!@#$%^&*()_+\\-={}\\[\\]:;\"'<>,.?/\\\\]).{6,12}$"; // 检查用户名是否匹配正则表达式 public static boolean checkUsername(String username) { Pattern pattern = Pattern.compile(USERNAME_REGEX); Matcher matcher = pattern.matcher(username); return matcher.matches(); } // 检查密码是否匹配正则表达式 public static boolean checkPassword(String password) { Pattern pattern = Pattern.compile(PASSWORD_REGEX); Matcher matcher = pattern.matcher(password); return matcher.matches(); } public static void main(String[] args) { // 测试用户名 String[] usernames = {"abcd", "abcd123", "abcdABCD", "abcd中文", "abcd12中文", "java@zhanmusi", "Hello,World", "张三", "二零二四"}; for (String username : usernames) { System.out.println(username + " is valid: " + checkUsername(username)); } // 测试密码 String[] passwords = {"abc123", "abc@123", "abc123ABC", "abcABC@123", "abc"}; for (String password : passwords) { System.out.println(password + " is valid: " + checkPassword(password)); } } }