2013-07-05 60 views
6

我在一個bean中有一個變量名。我想添加@Pattern驗證,只接受字母數字。@用於字母數字字符串的模式 - Bean驗證

目前,我有這個。

@NotNull 
@Pattern(regexp = "{A-Za-z0-9}*") 
String name; 

但誤差Invalid regular expression. 我試過[A-Za-z0-9]。但是這也不起作用。雖然沒有錯誤。它顯示任何有效的輸入失敗。

回答

19

你嘗試這種模式:^[A-Za-z0-9]*$

^[A-Za-z0-9]+$避免空的結果。

如果要檢查字符串是否只包含特定字符,則必須添加錨點(字符串開頭爲^,字符串結尾爲$),以確保您的模式匹配所有字符串。

花括號只寫一個量,比如:我想要兩個a
a{2}
你不能把字母裏面。你能滿足大括號內的字母唯一情況是,當你使用Unicode字符類:\p{L}\p{Greek}\p{Arabian},...