C#判断IP地址是否合法函数-使用正则表达式-2个,还有IPAddress

来源:互联网 发布:数学计算软件 编辑:程序博客网 时间:2024/06/03 18:46

  一、      public bool IsValidIP(string ip)
        {
            if (System.Text.RegularExpressions.Regex.IsMatch(ip, "[0-9]{1,3}//.[0-9]{1,3}//.[0-9]{1,3}//.[0-9]{1,3}"))
            {
                string[] ips = ip.Split('.');
                if(ips.Length == 4 || ips.Length == 6)
                {

                    if (System.Int32.Parse(ips[0]) < 256 && System.Int32.Parse(ips[1]) < 256 & System.Int32.Parse(ips[2]) < 256 & System.Int32.Parse(ips[3]) < 256)

                        return true;
                    else
                        return false;

                }
                else
                    return false;

            }

            else
                return false;
        }

 

 二、       public bool IsCorrenctIP(string ip)
        {
            string pattrn = @"(/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])";
            if (System.Text.RegularExpressions.Regex.IsMatch(ip, pattrn))
            {
                return true;
            }
            else
            {
                return
            false;

            }
        }


三、用IPAddress.Parse(string)函数,然后捕获异常,号称速度有点慢;
            try
            {
                IPAddress ipTry = IPAddress.Parse(callAgentAddr);
            }
            catch
            {
                MessageBox.Show("请输入正确的IP地址:(0-255).(0-255).(0-255).(0-255)");
                return;
            }

原创粉丝点击