字母数字字符串的@Pattern - Bean 验证
2022-09-01 14:02:49
我在豆子中有一个变量名称。我想添加验证以仅接受字母数字。@Pattern
目前,我有这个。
@NotNull
@Pattern(regexp = "{A-Za-z0-9}*")
String name;
但错误是我试过了。但这也行不通。虽然没有错误。它将任何有效输入显示为失败。Invalid regular expression.
[A-Za-z0-9]
我在豆子中有一个变量名称。我想添加验证以仅接受字母数字。@Pattern
目前,我有这个。
@NotNull
@Pattern(regexp = "{A-Za-z0-9}*")
String name;
但错误是我试过了。但这也行不通。虽然没有错误。它将任何有效输入显示为失败。Invalid regular expression.
[A-Za-z0-9]
你试试这个模式吗:^[A-Za-z0-9]*$
或避免空结果。^[A-Za-z0-9]+$
如果要检查字符串是否仅包含特定字符,则必须添加锚点(用于字符串的开头,用于字符串的结尾)以确保您的模式与整个字符串匹配。^
$
大括号仅用于表示重复,例如:如果我想要两个:
你不能把字母放进去。唯一可以找到括在大括号之间的字母的情况是当您使用 UNICODE 字符类时:(对于字母),, , ...a
a{2}
\p{L}
L
\p{Greek}
\p{Arabian}
此外,您可以使用字符类,该类可用于大括号,即Alnum。例如,对于长度介于 1 到 32 个字符(含)之间的字母数字字符:
@Pattern(regexp = "^[\\p{Alnum}]{1,32}$")
查看 https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html