2015-10-16 146 views
3

我試圖阻止用戶在.NET程序中輸入'%'或多個'%'到HTML表單中。嘗試過的圖案(?!.%*)但它不起作用。正則表達式應該在字符串中允許'%',但只有在使用'%'時纔會出現錯誤。.NET正則表達式 - 塊'%'

+0

% - 無效,%% - 無效,fsd%lkf - 有效,%fslk有效 – NetNewBie

+0

試試這個:'[^%]'。 – PetSerAl

回答

2

我不是一個正則表達式的專家,但,這似乎是爲我工作:

bool IsInputValid(string input) 
{ 
    return !Regex.IsMatch(input,"^[%]+$"); 
} 

和示例:

Debug.WriteLine(IsInputValid("%")); // False 
Debug.WriteLine(IsInputValid("%%")); // False 
Debug.WriteLine(IsInputValid("fsd%lkf")); // True 
Debug.WriteLine(IsInputValid("%fslk")); // True 
0

感謝所有爲您的輸入。我已經嘗試了幾個組合從你的答案終於想出了([^%])(。*)$ 它非常接近(仍然%% xxx被標記爲無效)。 但現在這對我有效。