使用人输入Ip地址访问某台主机数据库,这样就存在一个Ip是否有效的问题,比如他输入个字母进去,或者Ip不正确都会使程序崩溃,怎么捕捉它这个错误,从而给提示叫重新输入?

解决方案 »

  1.   


    using System.Text.RegularExpressions;Regex reg = new Regex(@"(?n)^(([1-9]?[0-9]|1[0-9]{2}|2([0-4][0-9]|5[0-5]))\.){3}([1-9]?[0-9]|1[0-9]{2}|2([0-4][0-9]|5[0-5]))$");
    if (reg.IsMatch(textBox1.Text))
    {
        MessageBox.Show("合法!");
    }
    else
    {
        MessageBox.Show("不合法!");
    }
      

  2.   

    上面是检测ip地址输入是不是正确,但不能保证ip地址是否有效(能否ping通)
    如果进一步检测ip能不能ping通,可以参考这个网址
    http://hi.baidu.com/not6/blog/item/e0243f350aa9530390ef39aa.html
      

  3.   


    嗯,利用正则可以判断是否是合法的ip值,但可能无法捕获合法却不存在或未启用的ip。
    建议直接用try{}catch{}来捕获吧。
      

  4.   

    http://hi.baidu.com/not6/blog/item/e0243f350aa9530390ef39aa.html
    顶+++
      

  5.   

    就一句话,检查ip格式。检查是不是ip的名称。
      

  6.   

    调用cmd命令ping一下,根据返回的的内容来判断