这个你可以换个思维嘛,下面是我写的,不知道是否满足你的要求:
string isNum = "";
bool bNum = true;
isNum = (txtStudentNum.Text.ToString());
int length = isNum.Length;
char[] chars = isNum.ToCharArray(0,length);
for(int i=0;i<length;i++)
   if(chars[i] > '9' || chars[i] < '0')
      {
          bNum = false;
          break;
      }
MessageBox.Show("学号应为数字!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

解决方案 »

  1.   

    恩,这个我知道,我看了CSDN以前的资料,但是问题是日期的判断呢
    那个我却不真鲷该怎么解决。
      

  2.   

    还是谢谢 beiguren() 啊
    我改了改你的
    public bool isNumber(string isNum)
    {
    bool bisNum = true;
    char[] chars = isNum.ToCharArray(0, isNum.Length);
    for(int i=0; i<isNum.Length; i++)
    {
    if(!char.IsNumber(chars[i]))
    {
    bisNum = false;
    break;
    }
    }
    return bisNum;
    }
    另外,数字的正则表达式是不是
    public bool isNumberR(string lstr)
    {
        bool IsNum=Regex.IsMatch(lstr,@"^\d+$");
        return IsNum;
    }
    日期我想了半天也还是不知道怎么弄,似乎正则表达式也解决不了,
      

  3.   

    UP~~~~~~~~
    ----------------------
    《CSDN论坛新助手 CSDN's forum Explorer》
    1、更快速的浏览
    2、更方便地保存
    3、更快捷的收/发短信
    下载地址:http://www.seeyou.com.cn/CoolSlob/CSDNExplorer.exe
    更多说明:http://community.csdn.net/Expert/TopicView.asp?id=3255966