如何判断IP地址是否合法

 我来答
小耳朵爱聊车
高粉答主

2020-12-15 · 说的都是干货,快来关注
知道大有可为答主
回答量:7378
采纳率:100%
帮助的人:304万
展开全部

IP地址,用“.”分隔的4个十进制数,范围是0-255,超过范围就是无效的。

总的来说,ip地址分类由第一个八位组的值来确定,任何一个0到127 间的网络地址均是一个a类地址。

任何一个128到191间的网络地址是一个b类地址。任何一个192到223 间的网络地址是一个c类地址。任何一个第一个八位组在224到239 间的网络地址是一个组播地址即d类地址,e类保留。

扩展资料:

IP地址的分配

TCP/IP协议需要针对不同的网络进行不同的设置,且每个节点一般需要一个“IP地址”、一个“子网掩码”、一个“默认网关”。

不过,可以通过动态主机配置协议(DHCP),给客户端自动分配一个IP地址,避免了出错,也简化了TCP/IP协议的设置。

互联网上的IP地址统一由一个叫“ICANN”(Internet Corporation for Assigned Names and Numbers,互联网赋名和编号公司)的组织来管理。

IP地址现由因特网名字与号码指派公司ICANN(Internet Corporation for Assigned Names and Numbers)分配。

ipipgo
2023-11-29 广告
IPIPGO: 全球领先的IP代理服务提供商在当今数字化时代,随着互联网的普及和全球化的发展,IP代理服务变得越来越重要。在这个背景下,IPIPGO作为全球领先的IP代理服务提供商,为企业和个人提供了高质量、可靠性和安全性的解决方案。全球覆... 点击进入详情页
本回答由ipipgo提供
百度网友6d4e4137d8
2018-03-27
知道答主
回答量:8
采纳率:100%
帮助的人:7141
展开全部
public class Test_ip {
//程序入口
public static void main(String[] args) {
Solution s = new Solution(); // 业务逻辑放在Solution类里面
//String test_str = "12.34.56.67";
String test_str = "256.34.56.67"; // 待解决的字符串
boolean res = s.test_ip(test_str); //调用判断方法
System.out.println(res); //输出结果
}
}

class Solution{
/**
* 判断一个字符串是否是一个合法的ip地址:
* 1 首先检查字符串的长度 最短应该是0.0.0.0 7位 最长 000.000.000.000 15位
* 2 尝试按.符号进行拆分 拆分结果应该是4段
* 3 查看拆分到的每一个子字符串,应该都是纯数字
* 4 对拆分结果转成整数 判断 应该是0到255之间的整数
* 5 经过各种磨砺之后 挺过来了!!!返回true
*/
public boolean test_ip(String str){
// 1 首先检查字符串的长度 最短应该是0.0.0.0 7位 最长 000.000.000.000 15位
if(str.length()<7 || str.length() >15) return false; // 如果长度不符合条件 返回false

// 2 尝试按.符号进行拆分 拆分结果应该是4段
String[] arr = str.split("\\.");
if( arr.length != 4 ) return false; //如果拆分结果不是4个字串 返回false

// 3 查看拆分到的每一个子字符串,应该都是纯数字
for(int i = 0 ; i <4 ; i++ ){
for(int j = 0; j<arr[i].length();j++){
char temp = arr[i].charAt(j);
if(!( temp>'0' && temp< '9' ) ) return false; //如果某个字符不是数字就返回false
}
}

// 4 对拆分结果转成整数 判断 应该是0到255之间的整数
for(int i = 0 ; i<4;i++){
int temp = Integer.parseInt( arr[i] );
if( temp<0 || temp >255) return false; //如果某个数字不是0到255之间的数 就返回false
}

// 5 经过各种磨砺之后 挺过来了!!!返回true
return true;
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zy15021147475
2020-12-28 · TA获得超过6230个赞
知道大有可为答主
回答量:6555
采纳率:100%
帮助的人:251万
展开全部
1、首先了解下IP地址是什么,IP地址分为A类,B类,C类,D类,E类。A类的IP地址范围为0.0.0.0-127.255.255.255,B类的IP地址范围为128.0.0.0-191.255.255.255,C类的IP地址范围为192.0.0.0-223.255.255.255。

2、然后判断标识长度,在A类IP地址里,其中网络的标识长度为8位,主机标识的长度为24位,子网掩码为255.0.0.0。B类适合用于中等规模的网络,其中网络的标识长度为16位,主机标识的长度为16位,子网掩码为255.255.0.0。C类适合小规模的局域网,其中网络的标识长度为24位,主机标识的长度为8位,子网掩码为255.255.255.0。

3、最后判断是否合法,在每个合法的IP地址中,有4个3位数用“.”隔开的数字,而且每个三位数都在0到255之间,并且包含255这个数字。相信大家在学习后,已经知晓如何判断IP地址是否合法了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
vickynjsj
2013-11-07 · TA获得超过166个赞
知道答主
回答量:25
采纳率:100%
帮助的人:7.7万
展开全部
刚刚知道一个非常好用的方法。首先ip地址为32位二进制,8位一组进行分割,所以ip地址一定要有四组;其次,ip地址任何一组不可高于255;最后,开头结尾不为0,结尾还不可为255。简单吧
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-07-13
展开全部
根据IP的规则来判断噻!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式