精华内容
下载资源
问答
  • 使用正则表达式来判断IP地址是否正确的方法。 /// <summary> /// 判断是否是IP地址格式 0.0.0.0 /// </summary> /// <param name="str1">待判断IP地址</param> /// &...

           
    使用正则表达式来判断IP地址是否正确的方法。

            /// <summary>

            /// 判断是否是IP地址格式 0.0.0.0
            /// </summary>
            /// <param name="str1">待判断的IP地址</param>
            /// <returns>true or false</returns>
            public static bool IsIPAddress(string str1)
            {
                if (string.IsNullOrEmpty(str1) || str1.Length < 7 || str1.Length > 15) return false;
                const string regformat = @"^\d{1,3}[\.]\d{1,3}[\.]\d{1,3}[\.]\d{1,3}$";

                Regex regex = new Regex(regformat, RegexOptions.IgnoreCase);
                return regex.IsMatch(str1);
            }

    转载于:https://www.cnblogs.com/kevinGao/archive/2012/05/02/2482115.html

    展开全文
  • IP地址判断有效

    千次阅读 2016-04-06 12:34:02
    IP地址判断有效性标签(空格分隔): OJ_算法1.题目 判断输入的字符串是不是一个有效IP地址 详细描述: 请实现如下接口 boolisIPAddressValid(constchar* pszIPAddr) 输入:pszIPAddr 字符串 输出:true 有效...

    IP地址判断有效性

    标签(空格分隔): OJ_算法


    1.题目

    • 判断输入的字符串是不是一个有效的IP地址
      详细描述:
    • 请实现如下接口
      boolisIPAddressValid(constchar* pszIPAddr)
      输入:pszIPAddr 字符串
      输出:true 有效的IP地址,false,无效的IP地址
    • 约束
      输入IP为XXX.XXX.XXX.XXX格式
      字符串两端含有空格认为是合法IP
      字符串中间含有空格认为是不合法IP
      类似于 01.1.1.1, 1.02.3.4 IP子段以0开头为不合法IP
      子段为单个0 认为是合法IP,0.0.0.0也算合法IP

    2 代码实现

    版本1:

    int ConvertSubIPToInt(const char* sub_ip)
    {
        if (sub_ip == NULL)
            return -1;
        int length = strlen(sub_ip);
        if (length < 1 || length>3)
            return -1;
        int sub_value = 0;
        for (int i = 0; i < length; i++)
        {
            if (sub_ip[i]<'0' || sub_ip[i]>'9')
                return -1;
            sub_value = 10 * sub_value + sub_ip[i] - '0';
        }
        return sub_value;
    }
    bool isIPAddressValid(const char* pszIPAddr)
    {
        // 请在此处实现
        if (pszIPAddr == NULL || *pszIPAddr == '\0')
            return false;
    
        int szIPAddr_length = strlen(pszIPAddr);
    
        int index_start = 0;
        int index_end = szIPAddr_length - 1;
    
        //去除前边的空格
        while (pszIPAddr[index_start] == ' ')
        {
            ++index_start;
        }
        //去除后边空格
        while (pszIPAddr[index_end] == ' ')
        {
            --index_end;
        }
        if (index_end <= index_start)
            return false;
    
        int ip_length = index_end - index_start + 2;
        char *temp_ip=(char*)malloc(ip_length);
        strncpy(temp_ip, pszIPAddr + index_start, ip_length-1);
        temp_ip[ip_length - 1] = '\0';
    
        char* sub_ip = strtok(temp_ip, ".");
        int sub_ip_count = 0;
        int sub_ip_value;
        while (sub_ip != NULL)//ip分段,计数分段ip,并转换为0-255
        {
            sub_ip_count++;
            if (sub_ip_count > 4)
            {
                free(temp_ip);
                return false;
            }
            sub_ip_value= ConvertSubIPToInt(sub_ip);
            if (sub_ip_value < 0 || sub_ip_value > 255)
                {
                    free(temp_ip);
                    return false;
                }
            sub_ip = strtok(NULL, ".");
        }
        free(temp_ip);
        if (sub_ip_count != 4)
            return false;
        else
            return true;
    }

    版本2:

    bool isIPAddressValid(const char* pszIPAddr)
    {
        // 请在此处实现
        if (pszIPAddr == NULL || *pszIPAddr == '\0')
            return false;
    
        size_t szIPAddr_length = strlen(pszIPAddr);
    
        bool isValid = true;
        size_t index_start = 0;
        size_t index_end = szIPAddr_length - 1;
    
        //去除前边的空格
        while (pszIPAddr[index_start] == ' ')
        {
            ++index_start;
        }
        //去除后边空格
        while (pszIPAddr[index_end] == ' ')
        {
            --index_end;
        }
    
        int sub_value = 0;//转换每个子段的值
        int dot_mark_count = 0;//统计字符'.'的个数
    
        size_t sub_fisrt = index_start;//记录每个子段的第一个字符位置
        for (size_t i = index_start; i <= index_end + 1; i++)
        {
            if (pszIPAddr[i] >= '0'&&pszIPAddr[i] <= '9')
            {
                sub_value = 10 * sub_value + pszIPAddr[i] - '0';
            }
            else if (pszIPAddr[i] == '.' || i == index_end + 1)
            {
                if (i == index_start || pszIPAddr[i - 1] < '0' || pszIPAddr[i - 1]>'9')//判断第一位或者.的前后是否有数字
                    return false;
                if (pszIPAddr[i] == '.')//统计点'.'的个数
                {
                    dot_mark_count++;
                    if (dot_mark_count > 3)
                        return false;
                }
    
                if (sub_value < 0 || sub_value>255)
                    return false;
                if (sub_value != 0 && pszIPAddr[sub_fisrt] == '0')
                    return false;
    
                sub_value = 0;//子段识别完毕,重新转换下一子段值
                sub_fisrt = i + 1;
            }
            else
                return false;
        }
        if (dot_mark_count != 3)//统计点'.'的个数
            return false;
    
        return true;
    }

    参见:https://www.zybuluo.com/songpfei/note/335965

    展开全文
  • Android 判断IP地址及端口是否正确

    万次阅读 2021-03-17 18:18:53
    一、前言 在进行网络编程时,端口或者...a) IP地址长度判断 b) 切割字符串,是否能够被分为四段 c) 每段是否为数字 d) 每个数字是否在0 ~ 255之间 三、参考代码 private boolean isNetPort(int port) { boolean flag

    一、前言

    在进行网络编程时,端口或者IP的不正确会导致应用挂掉,通过以下方法可以对端口或者IP进行判断是否合法。

    二、解决思路

    1.端口判断

    端口的有效范围在 0 ~ 65535之间,写一个判断方法即可。

    2. IP判断

    这儿的IP指IPv4地址。
    a) IP地址长度判断
    b) 切割字符串,是否能够被分为四段
    c) 每段是否为数字
    d) 每个数字是否在0 ~ 255之间

    三、参考代码

        private boolean isNetPort(int port) {
            boolean flag = false;
            if (port >= 0 && port <= 65535) {
                flag = true;
            }
            return flag;
        }
    
        private boolean isIpAddr(String ipString) {
    
            // 判断是否是7-15位之间(0.0.0.0-255.255.255.255.255)
            if (ipString.length() < 7 || ipString.length() > 15) return  false;
    
            // 判断是否能以小数点分成四段
            String[] ipArray = ipString.split("\\.");
            if (ipArray.length != 4) return false;
            for (int i = 0; i < ipArray.length; i++) {
                try {
                    // 判断每段是否都是数字
                    int number = Integer.parseInt(ipArray[i]);
                    // 判断每段数字是否都在0-255之间
                    if (number < 0 || number > 255) return false;
                } catch (Exception e) {
                    return false;
                }
            }
            return true;
        }
    
    展开全文
  • c#判断正确ip地址格式与转换

    千次阅读 2014-02-28 06:48:36
    c#判断正确ip地址格式。 判断ip地址是否正确,直接用.Net现成的类,方法如下 string ipStr="192.168.222.333"; IPAddress ip; if(IPAddress.TryParse(ipStr,out ip)) { Console.WriterLine("合法IP"); } else...
    c#判断正确的ip地址格式。

    判断ip地址是否正确,直接用.Net现成的类,方法如下
    string ipStr="192.168.222.333";
    IPAddress ip;
    if(IPAddress.TryParse(ipStr,out ip))
    {
       Console.WriterLine("合法IP");
    }
    else
    { www.jbxue.com
       Console.WriterLine("非法IP");
    }
    

    C# IP地址与整数之间转换的具体方法

    IP地址与整数之间的转换
    1、IP地址转换为整数
    原理:IP地址每段可以看成是8位无符号整数即0-255,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个无符号的32位整数。
    举例:一个ip地址为10.0.3.193
    每段数字 相对应的二进制数
    10 00001010
    0 00000000
    3 00000011
    193 11000001
    组合起来即为:00001010 00000000 00000011 11000001,转换为10进制就是:167773121,即该IP地址转换后的数字就是它了。
    C#代码:www.jbxue.com
    public static long IpToInt(string ip)
    {
        char[] separator = new char[] { '.' };
        string[] items = ip.Split(separator);
        return long.Parse(items[0]) << 24
        | long.Parse(items[1]) << 16
        | long.Parse(items[2]) << 8 
        | long.Parse(items[3]);
    }

    2、整数转换为IP地址
    原理:把这个整数转换成一个32位二进制数。从左到右,每8位进行一下分割,得到4段8位的二进制数,把这些二进制数转换成整数然后加上”.”,就是这个ip地址了。
    举例,整数:167773121
    二进制表示形式为:00001010 00000000 00000011 11000001
    分割成四段:00001010,00001010,00000011,11000001,分别转换为整数后加上“.”就得到了10.0.3.193。
    C#代码:
    public static string IntToIp(long ipInt)
    {
        StringBuilder sb = new StringBuilder();
        sb.Append((ipInt >> 24) & 0xFF).Append(".");
        sb.Append((ipInt >> 16) & 0xFF).Append(".");
        sb.Append((ipInt >> 8) & 0xFF).Append(".");
        sb.Append(ipInt & 0xFF);
        return sb.ToString();
    }
    展开全文
  • 判断IP地址是否有效

    2020-04-26 10:26:35
    判断IP地址是否有效 #include <stdio.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> int main(int argc, char *argv[]) { struct in_addr s; int ret =...
  • 组播报文的目的地址使用D类IP地址,范围是从224.0.0.0到239.255.255.255。D类地址不能出现在IP报文的源IP地址字段。单播数据传输过程中,一个数据包传输的路径是从源地址路由到目的地址,利用“逐跳”(hop-by-hop)...
  • 输入一个ip地址串,判断是否合法。 输入描述: 每行有一个IP地址IP地址的形式为a.b.c.d,其中a、b、c、d都是整数。 输出描述: 可能有多组测试数据,对于每组数据,如果IP地址合法则输出"Yes!”,否则输出"No!”。 ...
  • IP地址判断有效性 答题时间: 00 小时 00 分 09 秒 描述:  题目标题: 判断输入的字符串是不是一个有效IP地址   详细描述: 请实现如下接口 ...
  • OJ 系列之IP地址判断有效

    千次阅读 2016-01-17 14:13:25
    1、问题描述判断输入的字符串是不是一个有效IP地址 详细描述: 请实现如下接口 bool isIPAddressValid(constchar* pszIPAddr) 输入:pszIPAddr 字符串 输出:true 有效IP地址,false,无效的IP地址 约束 ...
  • 判断IP地址

    2019-03-28 11:19:06
    判断IP地址 开发工具与关键技术:Visual Studio 2015,正则表达式 作者:李征世 撰写时间:2019.03.28 首先我们先设计好一个界面,如下图: 需要写一个设计器支持所需的代码方法: public Frm_Main() { ...
  • php如何判断IP为有效IP地址

    千次阅读 2013-05-31 14:36:53
    多数人看到这篇日志,第一印象肯定是以为是...判断是否是合法IP(经本人验证,该方法不太好用便直接只验证IPV4地址) (show/hide)plain text if(filter_var($ip, FILTER_VALIDATE_IP)) {  // it's va
  • 判断是否是有效IP地址

    千次阅读 2015-06-24 20:00:26
    #include #include bool isValidIp(char *s) { int len=strlen(s); int i=0; if(len) return false; for(i=0;i;i++) { if(('0'[i]&&s[i])||(s[i]=='.')) continue; else return fal
  • pb 用Ping方法 判断网络是否连通 IP地址是否有效
  • 在平时的项目中,有的时候需要我们输入IP地址,来和某一个电脑或其他的物体通讯,这就需要检查一下我们输入的IP地址的格式是否正确。效果如下: 废话不多说,直接上代码吧,都有注释,简单易懂 /// <summary>...
  • 判断一个ip地址是否有效

    千次阅读 2018-04-12 08:24:07
    # to check if an input is a legal IP number# A legal IP number is such as xxx.xxx.xxx.xxx# where xxx is 0-255 and can be one to three digits long.# And must begin and end with 0-255# the regular ...
  • Qt 判断一个IP地址是否有效

    千次阅读 2015-08-02 21:54:58
    QHostAddress test; if (!test.setAddress("111.111.111.1")) { ui->statusBar->showMessage("ERROR : Invalid ip address."); return; } 这样就不用编写正则表达式判断了。
  • std::string ip("199.199.199.199"); std::regex check_ip("(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9])[.](25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9])[.](25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]...
  • 最后要用一方法判断ip地址是否正确,直接用.Net现成的类,方法如下: string ipStr="192.168.222.333"; IPAddress ip; if(IPAddress.TryParse(ipStr,out ip)) { Console.WriterLine("合法IP"); } else ...
  • IP地址判断

    2014-12-14 21:38:50
    有关IP判断正确性的总结!
  • 根据子网掩码判断网段有效IP地址

    千次阅读 2017-07-26 18:13:46
    之前在牛客网上看到一道关于TCP/IP的题目,当时不是很理解子网掩码的机制没有做出来。...下列选项中,属于"10.174.20.176/28"该网段的有效IP地址是: A 10.174.20.174 B 10.174.20.186 C 10.174.20.191 D 10.174.20
  • 判断IP地址是否正确

    千次阅读 2015-04-30 14:39:11
    public static void main(String[] args) { ...String IP="192.168.12.4" ; boolean b=false;  if(IP.matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}")){   String s[] = IP.split("\\.");
  • 如何判断IP地址是否合法

    千次阅读 2017-09-22 09:53:15
    如何判断一个IP地址是否合法,以及如何判断一个IP地址是否在给定的IP地址范围内,废话不多说,上代码 判断IP地址是否合法: bool isValidIP(char *ip) { if (ip == NULL) return false; char temp[4];...
  • js判断ip地址是否正确

    2015-03-10 16:36:17
    //判断Agent地址是否正确IP if(document.all.txtAgentIP.value!="") { var IPAddress = document.all.txtAgentIP.value;  var exp=/^(\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...
  • Java - 判断字符串是否为IP地址

    千次阅读 2020-08-06 12:07:34
    文章目录Java - 判断字符串是否为IP地址1、代码2、CommonUtils 工具类3、NumberUtils 工具类 Java - 判断字符串是否为IP地址 1、代码 主要就是这么几个条件 非空 长度符合 0.0.0.0 - 255.255.255.255 包含分隔符 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 175,221
精华内容 70,088
关键字:

如何判断是正确的ip地址