如何判断IP地址是否合法

如题所述

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)分配。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-27
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;
}
}本回答被网友采纳
第2个回答  2020-12-28
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地址是否合法了。
第3个回答  2013-11-07
刚刚知道一个非常好用的方法。首先ip地址为32位二进制,8位一组进行分割,所以ip地址一定要有四组;其次,ip地址任何一组不可高于255;最后,开头结尾不为0,结尾还不可为255。简单吧本回答被网友采纳
第4个回答  2011-07-13
根据IP的规则来判断噻!

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网