2016-04-21 140 views
0

我在我的應用程序中有一個文本框,在此文本框中,我想執行驗證檢查。如果用戶輸入[,\'']這些字符,則應提示消息該字符無效。不過,我所做的只是檢查字符的正則表達式,但似乎C#有麻煩認識這些簡單的[\']。有沒有辦法處理這些特殊字符?c中的特殊轉義字符#

+1

按鍵事件請記住,寫正則表達式時,你有逃脫的正則表達式的'''的性格,但你也有逃避'\'對於字符串本身,所以你需要輸入'「[\\']」'(或'@「[\']」') – vesan

+1

請包括您用於創建表達式的代碼。 – npinti

+0

它可能是由\引起的。要檢測\你應該使用雙反斜槓。 ''''''''你身邊的任何代碼將有助於檢查實際案例 – Ian

回答

2

我假設你想只保留字母,數字和空格字符。加入這樣


    private void textBox1_KeyPress(object sender, KeyPressEventArgs e) 
    { 
     var regex = new Regex(@"[^a-zA-Z0-9\s]"); 
     if (regex.IsMatch(e.KeyChar.ToString())) 
     { 
      e.Handled = true; 
     } 
    } 
+0

謝謝,它的工作,必須選擇作爲答案。 –

0

試試這個代碼

private static readonly char[] SpecialChars = @"[,.']".ToCharArray(); 
    int indexOf = YourInputString.IndexOfAny(SpecialChars); 
    if (indexOf != -1) 
    { 
      //Print Contains Invalid Character 

    } 
+0

不幸的是不工作:( –