2016-04-21 98 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

不幸的是不工作:( –