首页 > 解决方案 > 如何在使用 java 的字符串中只允许 !@#$%^&*

问题描述

我只想允许上面提到的特殊字符。

我试过这个

private final Pattern hasSpecialChar = Pattern.compile("[!@#$%^&*]");
if (!hasSpecialChar.matcher(password).find()) {
    return "String allows only !@#$%^&* special characters";
}

但它也允许其他特殊字符。

任何机构都可以帮助我创建一个适当的正则表达式。

标签: javaregex

解决方案


尝试这个:

private final Pattern hasSpecialChar = Pattern.compile("[^A-Za-z0-9!@#$%^&*]+");
if (hasSpecialChar.matcher(password).find()) {
    return "String allows only !@#$%^&* special characters";
}

推荐阅读