我想在textbox中限制特殊字符的输入,怎么写代码?
特殊字符包括?、/》《.><,|\+ = _ - * ^ & % $ # @ ! ` ~
 就是只允许输入汉字、字符 和数字

解决方案 »

  1.   

    这个正则应该很简单的,不过具体我也不会,看看这个教程
    http://www.unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm
      

  2.   

    只允许输入汉字、字符 和数字
    ^[\u4e00-\u9fa5a-zA-Z\d]*$
      

  3.   

    string input=textbox.text;
    if(input.indexof("?、/》《.><,|\+ = _ - * ^ & % $ # @ ! ` ~")>0)
    {
          e.handle=false;
          messagebox.show("input error.....");
    }
      

  4.   

    处理 textBox 的 KeyPress 事件,如果是特殊字符,将 handled 设为 true,这样就输入不进去了。关于如果判断是不是特殊字符,上面的大侠说得很明白。
      

  5.   

    另外要防止用户向 textbox 中粘贴文本,这个比较麻烦,因为没有 Pasting 事件,等后面的高手来答吧
      

  6.   


            private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
            {
                Regex r = new Regex(@"^[\u4E00-\u9FA5a-zA-Z\d]+$");
                if (!r.IsMatch(e.KeyChar.ToString()))
                {
                    e.Handled = true;
                }
            }