You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java如何编写正则校验字符串同时包含字母、数字且无特殊符号?

Java 正则校验解决方案

最终正则表达式

^(?=.*[0-9])(?=.*[a-zA-Z])[a-zA-Z0-9]+$

规则说明

  • ^ 匹配字符串的起始位置
  • (?=.*[0-9]) 正向预查,强制要求字符串中至少包含1个数字
  • (?=.*[a-zA-Z]) 正向预查,强制要求字符串中至少包含1个字母
  • [a-zA-Z0-9]+ 限制整个字符串只能由大小写字母、数字组成
  • $ 匹配字符串的结束位置

Java 代码使用示例

import java.util.regex.Pattern;

public class StringValidator {
    // 预编译正则,提升多次校验的性能
    private static final Pattern VALID_PATTERN = Pattern.compile("^(?=.*[0-9])(?=.*[a-zA-Z])[a-zA-Z0-9]+$");

    public static boolean checkString(String input) {
        // 空值直接返回不通过
        if (input == null) {
            return false;
        }
        return VALID_PATTERN.matcher(input).matches();
    }
}

测试用例匹配结果

  • 输入 "1111" => false
  • 输入 "AAA" => false
  • 输入 "1A" => true
  • 输入 "A1" => true
  • 输入 "111AAA111" => true
  • 输入 "AAA11111AA" => true
  • 输入 "#AA111BBB" => false
  • 输入 "111AAAA$" => false

内容的提问来源于stack exchange,提问作者James

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 14:15:03