2012-09-14 78 views
5

我使用的是MVC數據註釋,我的要求是地址字段可以包含除< > . ! @ # %/? *之外的任何字符(即除英文字符外也是允許的)。正則表達式除此字符

我搜索了很多網站,但沒有得到如何寫這個正則表達式。

到目前爲止,我曾嘗試:

[Required(ErrorMessage = "Address Required.")] 
[RegularExpression(@"^[<>[email protected]#%/]+$", ErrorMessage = "Address invalid.")] 
public string Address { get; set; } 

回答

1

嘗試是正則表達式:

[^<>[email protected]#%/?*] 
+0

您可以刪除所有反斜槓。而且,這隻能匹配一個字符。 –

1

這應該做的工作:

「[!^ <> @#%/]」

編輯

。 (點)是正則表達式中的保留字符,因此您需要將其轉義。

8

讓你的正則表達式從除了只是那些插入符列出的任何字符選擇:

[^abc] 

將匹配任何東西,這不是一個A,B或C。

所以把他們放在一起,你的正則表達式將在這裏

^[^<>[email protected]#%/?*]+$ 

注意,方括號外的插入符的意思是「匹配行的開始」,但方括號中的意思是「匹配任何不是以下任何'

+2

您不需要在字符類中轉義正則表達式元字符(反斜槓和右括號除外)。 –