我想判断一个字符串里面是否包含了某个字,限制某些汉字不能被输入,可以用什么办法判断呢,本来是想用正则表达式的,不过正则表达式好象不能限制汉字,请问大家都是用什么办法,最好是详细点.

解决方案 »

  1.   

    string input = "i love 美女";
    string limit = "色情,美女,老江,老毛";
    string pat=@"[\u4e00-\u9fa5]";
    Regex rg=new Regex(pat);
    Match mh=rg.Match(input );
    if(mh.Success)
    {
     //包含汉字
     char[] arr = input.ToCharArray();
     foreach(char c in arr)
     { 
         if(limit.IndexOf(c.ToString())!=-1)
          {
            break;
             //如输入汉字在限制列表中则跳出;
          }
     }
     
    }
      

  2.   

    string str = this.TeztBox1.Text;
    if(str.IndexOf("字")>=0)
    {
        this.Label.Text="输入错误,请重新输入";
        return;
    }
      

  3.   

    string str = this.TeztBox1.Text;
    if(str.IndexOf("字")>=0)
    {
        this.Label.Text="输入错误,请重新输入";
        return;
    }
    ----------------------------
    简单实用!
      

  4.   

    ChengKing(Enthusiasm Bigrosoft)说的有道理
      

  5.   

    to 楼上各位:
    限制某些汉字不能被输入?
    莫非要一个一个去判断?
    if()
    {
    }
    else if{
    }
    else if{
    }
      

  6.   

    if(Regex.IsMatch("字","字|词|句"))
    {
    return;
    }
      

  7.   

    用string.indexof("所要检查的字符串就可以了")