请问在winform中的TextBox和comboBox中用什么方法判断用户输入的是英文字母,还是数字呀,有知道的大虾吗?帮忙解答下,谢谢了

解决方案 »

  1.   

    判断是否英文字母或数字,是的话返回truepublic bool IsNatural_Number(string str)
            {
                System.Text.RegularExpressions.Regex reg1 = new System.Text.RegularExpressions.Regex(@"^[A-Za-z0-9]+$");
                return reg1.IsMatch(str);
            } 
      

  2.   

    简单的话 你可以用IMEMODE 这个属性控制当然正则表达式肯定也是行的
      

  3.   

    今天遇到这么多正则表达式的问题,看来很多人还是对看似复杂的正则表达式心存畏惧啊其实很简单的,推荐个网址楼主学习一下吧:
    http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html
      

  4.   


    你说的不对,imemode只能限制输入中文等,但不能限制@#¥E#%$#^这些东西,要限制输入要么使用MaskedTextBox要么使用正则表达式
    但要检查是否字母或者数字自己写代码也能实现,但是最方便的就是正则表达式了
      

  5.   

    用Encoding.GetEncoding("GBK").GetByteCount(txtName.Text.Trim())可以获得字符串的字节数,每个汉字2个字节,一个字母一个字节,比如“abc",就获得的是3,如果是“我d的”,获得的就是5然后把这个字节数跟字符串的长度进行对比,如果字节数比长度大,那就说明里面输入了全角字符
    if(Encoding.GetEncoding("GBK").GetByteCount(txtName.Text.Trim())>txtName.Text.Trim().Length)
    {
       //有汉字
    }
    else
    {
      //全是英文
    }
      

  6.   

    如果你的这个文本框只想让用户输入英文,或者只想让其输入数字的话,你可以试一下MaskedTextBox这个控件
      

  7.   

    (?i)^[a-z]+$   英文
    ^[0-9]+$       数字