正则表达式

 

介绍:一个简单的 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));
        }
    }
}

 

posted @ 2024-02-24 16:37  学Java的`Bei  阅读(9)  评论(0编辑  收藏  举报