如何为 Hibernate 验证做一个正则表达式模式?

How can I do a regex pattern for Hibernate validation?

我想使用带有 Hibernate 验证的正则表达式 @Pattern。我该怎么做这个正则表达式?

[a][b][c][d][e] 是一个 13 位的数字,像这样:1831222132132

a - one digit, 1 or 2, nothing else;
b - from 01 to 99, it is the last 2 digits from the year, for ex 1983 => b = 83;
c - from 01 to 12;
d - from 01 to 31;
e - 6 digits;

如有任何帮助,我们将不胜感激。谢谢!

要在 Hibernate 中验证这一点,您可以像这样使用 @Pattern 注释

@Column(name = "myInpt")
@Pattern(regexp = "^[12](0[1-9]|[1-9][0-9])(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])([0-9]{6})$", message = "Incorrect format")
private String myInput;