2010-05-16 34 views
0

我不明白;這應該是簡單的:REGEX拒絕簡單字母數字

爲什麼這個文本框中輸入:

Foo 2010 

通過這個表達式驗證時間:

ValidationExpression="^[a-zA-Z0-9 -_!]+$" 

拋出一個無效的輸入錯誤?它旨在允許alphamumerics,空格,破折號,下劃線和感嘆號。

正則表達式讓我頭疼......

+0

嗚嗚..有**美孚之間的空間**和** ** 2010這當然會不匹配,不是嗎? – Vagaus 2010-05-16 21:31:42

回答

3

破折號-應該[後右側放置或放置]之前或\
否則會被視爲一類範圍的元字符轉義。

試試這個:ValidationExpression="^[-a-zA-Z0-9 _!]+$"

+0

或者他可以添加'\ -' – BrunoLM 2010-05-16 21:49:07

+0

@BrunoLM,謝謝。我更新了我的答案。 – 2010-05-16 21:52:25

+0

謝謝尼克!感謝布魯諾!工作很好。 – GDB 2010-05-16 23:45:30