开发者社区> 问答> 正文

怎么校验ip地址

如图,“配置ip信息”那个框框里,要先配置好起始ip段和结束ip段,然后在新增设备哪里,要输入设备的ip地址
现在就困在一个验证问题,1,要验证配置的ip段是否属于同一个网段,图上那个肯定配错的,2,输入的ip地址是否输入配置的ip段的范围里
问题是没想好怎么验证能符合上面那两点
求大神指教....还有,这种情况,一半需要验证ip和掩码和网关之间的正确性么?
screenshot

展开
收起
蛮大人123 2016-02-19 13:59:34 2731 0
2 条回答
写回答
取消 提交回答
  •  public boolean isIP(String addr)         {             if(addr.length() < 7 || addr.length() > 15 || "".equals(addr))             {                 return false;             }             /**              * 判断IP格式和范围              */             String rexp = "([1-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3}";             Pattern pat = Pattern.compile(rexp);             Matcher mat = pat.matcher(addr);             boolean ipAddress = mat.find();             //============对之前的ip判断的bug在进行判断             if (ipAddress==true){                 String ips[] = addr.split("\\.");                 if(ips.length==4){                         try{                             for(String ip : ips){                                 if(Integer.parseInt(ip)<0||Integer.parseInt(ip)>255){                                     return false;                                 }                             }                         }catch (Exception e){                             return false;                         }                     return true;                 }else{                     return false;                 }             }             return ipAddress;         } } 这个代码先用正则表达式判断是否合法,其实就是判断是否右3个点分开字符串,不过对字符串没有判断是否为数字,所以在后面我又找了另一个判断ip的代码,如果前面判断的是合法,则在把字符串用点分开,然后强转成数字判断是否在0到255之间,如果不满足或者强转报错,就返回字符串不是ip的false变量。
    2019-07-17 18:44:38
    赞同 展开评论 打赏
  • 我说我不帅他们就打我,还说我虚伪

    子网,子网掩码, IP地址这三个概念需要理清楚
    只有一个IP地址,没有掩码,你是没有办法算出它的子网网络地址是什么。
    日常中最常见的掩码255.255.255.0(换成二进制,就是24个1和8个0),所以也说成24位掩码。掩码可以是24位,也可以是23,也可以是25...,所以离开掩码,你判断不了192.168.1.100和192.168.1.120是不是属于同一个子网。
    ip地址段配置那个界面没有看懂什么意思。IP地址那个界面完全正确。
    对于默认网关的检查问题,只能检查默认网关是不是跟IP地址在同一个子网内。

    2019-07-17 18:44:38
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载