正则表达式

 

介绍:一个简单的 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 @   学Java的`Bei  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示