一尘不染

Java排除特殊字符的正则表达式

java

我很难提出一个正则表达式,该正则表达式实际上会将某些特殊字符列入黑名单。

我需要使用它来验证输入字段中的数据(在Java Web应用程序中)。我们希望允许用户输入任何数字,字母(我们需要包括带重音的字符,例如法语或德语)和一些特殊字符,例如’-。等等

如何将诸如<>%$等的字符列入黑名单?


阅读 828

收藏
2020-03-24

共1个答案

一尘不染

我只是将角色列入白名单。

^[a-zA-Z0-9äöüÄÖÜ]*$

使用正则表达式构建黑名单同样简单,但是你可能需要添加更多字符-Unicode中有很多中文符号…;)

^[^<>%$]*$

表达式[^(此处有许多字符)]仅与未列出的任何字符匹配。

2020-03-24