我在一文本框中输入一IP地址,如果输入正确则正常显示,如果错误则程序崩掉.
我想首先进行判断,如果错误,给出提示,正确则正确执行.
请问,如何判断输入的字符串是一正确的IP地址呢? 用C#来实现!必给分

解决方案 »

  1.   

    "^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$" //IP地址 
    用正则
      

  2.   

    try...if (Regex.IsMatch(yourStr, @"^(?:(?:[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]))$"))
        richTextBox2.Text = "合法IP";
    else
        richTextBox2.Text = "非法IP";
      

  3.   

    or try...IPAddress ip;
    IPAddress.TryParse(yourStr, out ip);
    if (ip != null)
        richTextBox2.Text = "合法IP";
    else
        richTextBox2.Text = "非法IP";
      

  4.   


    直接看TryParse的返回值就够了,还不需要判断ip是不是空。
      

  5.   

    假设用户填写的IP地址是ipString
    IPAddress ip;
    if(System.Net.IPAddress.TryParse(ipString,out ip))
    {
    //是正确的IP地址
    }
    else
    {
    //不是正确的IP地址
    }
      

  6.   

    为什么不下一个ip控件呢?这样的话更美观也方便,比放一个textbox在那里好多了,下载地址http://d.download.csdn.net/down/169942/fengart
    vs2005版本以上都可以用
    如果一定要判断,楼上给的正则表达式就可以了
    另外你说如果非法的字符串会导致程序崩溃,为什么不添加异常处理?这种地方一定要判断并且添加异常处理的
      

  7.   

    Regex r = new Regex(@"^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$");
    string s = "192.168.1.1";
    if (r.IsMatch(s))
    {}