java - 如何在使用 java 的字符串中只允许 !@#$%^&*
问题描述
我只想允许上面提到的特殊字符。
我试过这个
private final Pattern hasSpecialChar = Pattern.compile("[!@#$%^&*]");
if (!hasSpecialChar.matcher(password).find()) {
return "String allows only !@#$%^&* special characters";
}
但它也允许其他特殊字符。
任何机构都可以帮助我创建一个适当的正则表达式。
解决方案
尝试这个:
private final Pattern hasSpecialChar = Pattern.compile("[^A-Za-z0-9!@#$%^&*]+");
if (hasSpecialChar.matcher(password).find()) {
return "String allows only !@#$%^&* special characters";
}
推荐阅读
- android - 从 PagingData Flow 中获取单个项目
- google-contacts-api - “自定义搜索 JSON API”每次查询的费用为 5 美元。什么是查询?
- c# - 如何在不循环整个列表的情况下将“未找到”添加到此搜索中?C#
- amazon-web-services - 当我没有使用 Docker 的 Js 时,为什么 s3fs 显示“无效选项 -- 'j'”?
- matlab - 适用于任何基础的 Matlab/Octave bitget 函数
- perl - 从标准输入一次读取两行的惯用方式
- excel - 我遇到了一个奇怪的问题,将带有 vlookup 的公式输入到带有 VBA 的单元格中
- c# - 通过 EF6 将数据绑定到 WPF 数据网格并且已经在运行 SQL Server 数据库
- angular - 如何将给定的指令值应用于 Angular Material 中的多个标签?
- sql - 在 PostgreSQL 中将相似的连续事件分组在一起