一个文本框要求不能输入汉字或全角字符,应如何判断?

解决方案 »

  1.   

    private void textBox1_TextChanged(object sender, EventArgs e)
            {
                if (this.textBox1.Text.Length == 0) return;
                if (((int)this.textBox1.Text[this.textBox1.Text.Length - 1]) >= 128)
                {
                    this.textBox1.Text = this.textBox1.Text.Substring(0, this.textBox1.Text.Length - 1);
                    this.textBox1.SelectionStart = this.textBox1.Text.Length;
                }
            }
      

  2.   

    //只能输入数字
    function InputNumberText()
    {
    if ( !(((window.event.keyCode >= 48) && (window.event.keyCode <= 57)) 
    || (window.event.keyCode == 13) || (window.event.keyCode == 46) 
    || (window.event.keyCode == 45)))
    {
    window.event.keyCode = 0 ;
    }

    //只能输入汉字
    function InputChineseText() 
    {
    if ((window.event.keyCode >=32) && (window.event.keyCode <= 126)) 
    {
    window.event.keyCode = 0 ;
    }

    function nextFocus(objBox){
      objBox.focus();
     
    }
    function nextAbledFocus(objF,objS) {  if (objF.disabled==true) {
        objS.focus();
      }
      else {
        objF.focus();
      }
      
      
    }
      

  3.   

    if(new Regex( "[\u4e00-\u9fa5]" ).Match( inputData ).Success)
    {
        //是汉字
    }
    else
    {
        //不是汉字
    }
      

  4.   

    new Regex
    这个市在那个类阿
    我怎么没有找到
      

  5.   

    楼上兄弟引用 using System.Text.RegularExpressions;
      

  6.   

    if(new Regex( "[\u4e00-\u9fa5]" ).Match( inputData ).Success)
    {
        //是汉字
    }
    else
    {
        //不是汉字
    }
    试了,可以,但只能判断一个汉字或数字或英文,字多的话要处理一下
      

  7.   

    private void textBox1_TextChanged(object sender, EventArgs e)
            {
                if (this.textBox1.Text.Length == 0) return;
                if (((int)this.textBox1.Text[this.textBox1.Text.Length - 1]) >= 128)
                {
                    this.textBox1.Text = this.textBox1.Text.Substring(0, this.textBox1.Text.Length - 1);
                    this.textBox1.SelectionStart = this.textBox1.Text.Length;
                }
            }
    这段代码是在asp后台?
    功能没有说明白 而且找不到 SelectionStart 这个属性
    郁闷
      

  8.   

    new Regex( "[\u4e00-\u9fa5]" ).Match( inputData ).Success 
    用判段 inputData字符串 中是不是有汉字,
      

  9.   

    别这样麻烦了。用样式吧。方便
    把控件的样式设置为:
    .law {
    font-size: 12px;
    ime-mode:disabled;//主要是这个!~
    }
    就不能输入汉字了。
      

  10.   

    汉字就是连续2个>128的ASCII码,判断一下就好了
      

  11.   

    楼上兄弟引用 using System.Text.RegularExpressions;
    谢谢
    结果如你所述
      

  12.   

    谢谢 codeangel 兄帮忙解释,;)
      

  13.   

    bmyuan(慕容杉 老兄的代码关注一下
      

  14.   

    别这样麻烦了。用样式吧。方便
    把控件的样式设置为:
    .law {
    font-size: 12px;
    ime-mode:disabled;//主要是这个!~
    }
    就不能输入汉字了。
    刚才试了一下 输入法没有办法转化了 确实不能够输入汉字
    不过能够复制进取
      

  15.   

    谢谢各位的解答!
    也谢谢yudi010(★★逍遥浪子★★)的测试!
    小弟初学Web开发,日后还请坛子上的各位多多帮忙哦!
    结贴!