用正则表达式 
例:18身分证验证string text = "12345678901234567X";
string Pattern = @"(\d){17}" ; 
MatchCollection MatchCol = Regex.Matches(text,Pattern);
for(int i=0;i<MatchCol.Count;i++)
{

    MessageBox.Show(MatchCol[i].ToString());
}

解决方案 »

  1.   


    try
    {
       System.ToInt64(text1.Text.ToString());
       MessageBox.Show("数字");
    }
    catch(System.Exception e)
    {
       //不是数字
    }
      

  2.   

    我就是用类似softye(阿申)的方法作的,怎么不行?
      

  3.   

    你只要将身份证的那个控件——ValidationExpression的正则表达式这样表示就可以了\d{18}
      

  4.   

    sorry
    try
    {
       System.Convert.ToInt64(text1.Text.ToString());
       MessageBox.Show("数字");
    }
    catch(System.Exception e)
    {
       //不是数字
    }
      

  5.   

    你要判断一个字符是否数字的话,可以用Char.IsDigit或者Char.IsNumber等判断,
    你加个循环就可以判断textbox里面的是不是数字了
    或者你用try{转换数据类型}catch{}来判断都可以,如果转换不成功就catch到异常
    你还可以用ascii码来判断
      

  6.   

    笨办法
    private void textBoxNum_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
    this.ReadOnly =false;
    switch(e.KeyCode)
    {

    case (Keys)(int)'0':
    break;
    case (Keys)(int)'1':
    break;
    case (Keys)(int)'2':
    break;
    case (Keys)(int)'3':
    break;
    case (Keys)(int)'4':
    break;
    case (Keys)(int)'5':
    break;
    case (Keys)(int)'6':
    break;
    case (Keys)(int)'7':
    break;
    case (Keys)(int)'8':
    break;
    case (Keys)(int)'9':
    break;
    //case (Keys)(int)'.':
    // break;
    case Keys.Left:
    break;
    case Keys.Right:
    break;
    case Keys.End:
    break;
    case Keys.Home:
    break;
    case Keys.Tab:
    break;
    case Keys.Back:
    break;
    case Keys.Delete:
    break;
    case Keys.Decimal:
    break;

    default:
    this.ReadOnly=true;
    break;
    }

    }
      

  7.   

    在keypress事件中加入如下的代码:
    if ( !(((e.KeyChar >= (char)48) && (e.KeyChar <= (char)57)) || (e.KeyChar == (char)13) || (e.KeyChar == (char)46) || (e.KeyChar == (char)45) || (e.KeyChar == (char)8)))
    {
    MessageBox.Show("输入错误,只能输入整数和小数");
    e.Handled = true;
    }