2014-02-13 96 views
0

我對這個Grails非常新穎。 我知道有一些方法可以停止使用特定字符的輸入,使用約束和匹配字段。用於鍵盤特殊字符的正則表達式驗證

,我用它來從

我用鍵盤輸入任何特殊字符停止用戶

matches:/^[^[email protected]#*^%~]*$/ 

它會檢查該字段沒有* ^%$#@〜,和它適用於這組字符,但我也想限制用戶添加+ - (}/\ | {[?]!〜;',= & _ .:「(簡而言之,所有特殊符號鍵盤)。只使用這個約束。我試圖把它們放在這個正則表達式模式中,但它仍然允許它,或者如果允許,它不會顯示錯誤信息在場上進入的聖人。

對於前: - 如果我已經進入(+)&^比錯誤消息只顯示爲「請不要輸入^。」但我想,「請不要輸入(+)& ^」。

請讓我知道,如果有人知道。

請注意,我只需要使用Grails/Groovy支持沒有JS/JQuery。

感謝

回答

1

下面的正則表達式會阻止進入任何字符以外的字母,還至少一個字符。如果你不希望最小的一個字符,然後用*

/^[^a-zA-Z0-9]+$/ 
+0

十分感謝取代+ ... !!!我得到了這個想法並解決了問題......乾杯 – artapart

+1

'/^[^ a-zA-Z0-9] + $ /'將阻止輸入任何字母數字的字符。我相信你的意思是'/^[a-zA-Z0-9] + $ /'只匹配字母數字字符。 – Xeon

+0

嗨@Xeon,正則表達式是正確的。 '[^ a-zA-Z0-9]'表示不屬於a-z和0-9的字符。 「^」符號簡單地顛倒了含義。 –