@Pattern for alphanumeric string - Bean validation

Do you try this pattern: ^[A-Za-z0-9]*$

or ^[A-Za-z0-9]+$ to avoid empty results.

If you want to check that a string contains only specific characters, you must add anchors (^ for beginning of the string, $ for end of the string) to be sure that your pattern matches the whole string.

Curly brackets are only used to express a repetition, example: if I want two a:
a{2}
You can't put letters inside. The only situation where you can find letters enclosed between curly brackets is when you use UNICODE character classes: \p{L} (L for Letters), \p{Greek}, \p{Arabian}, ...


In addition, you may use a character class, which can be used in curly braces, namely Alnum. For example, for an alphanumeric character having length between 1 and 32 characters inclusive:

@Pattern(regexp = "^[\\p{Alnum}]{1,32}$")

see https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html