问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JAVA判断正确ip号

发布网友 发布时间:2022-04-24 17:34

我来回答

4个回答

热心网友 时间:2023-10-26 20:29

没必要判断的那么细,用正则表达式

public class $ {
    public static void main(String[] args) {

        String str1 = "a.b.c.d";
        String str2 = "1.1.1.1";
        String str3 = "1.1.1.256";
        String str4 = "192.168.1.1";
        String regex = "(2[5][0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})";

        System.out.println(str1.matches(regex));
        System.out.println(str2.matches(regex));
        System.out.println(str3.matches(regex));
        System.out.println(str4.matches(regex));
    }
}

false
true
false
true

热心网友 时间:2023-10-26 20:29

一般不这么判断,太麻烦了,用正则表达式

直接用这个方法

public bool IsValidIP(string strIP)    
{    
    if (System.Text.RegularExpressions.Regex.IsMatch(strIP, "[0-9]{1,3}//.[0-9]{1,3}//.[0-9]{1,3}//.[0-9]{1,3}"))    
    {    
        string[] ip_ = strIP.Split('.');    
        if (ip_.Length == 4 || ip_.Length == 6)    
        {    
            if (System.Int32.Parse(ip_[0]) < 256 && System.Int32.Parse(ip_[1]) < 256 & System.Int32.Parse(ip_[2]) < 256 & System.Int32.Parse(ip_[3]) < 256) return true;    
            else return false;    
        }    
        else return false;    
    }    
    else return false;    
}

你传入 ip 看返回的是 true或者false就行了

热心网友 时间:2023-10-26 20:29

在你的源程序做了修改,代码如下

public class Iptest {
    public static void main(String[] args) {
        String ss = "10.0.12.320";
        String[] sss = ss.split("\\.");
        for (int x = 0; x < sss.length; x++) {
            int a=Integer.valueOf(sss[x]);
            if (a >= 0 && a <= 255)
                System.out.print(" zheng que ");
            else
                System.out.print("cuo wu");
        }
    }
}

你输出错误的原因是你没有给你定义的  int[]a=new int[sss.length];
  数组赋值   那你取出来的就都是0   所以最后输出的都是  zheng que

追问这样的话 会输出3个zheng que 和1个cuo wu

要只输出1个zheng que 或1个cuo wu的话怎么办呢?
比如10.0.12.320 输出cuo wu
而10.0.12.32 输出 zheng que

追答

不是为了你的满意答案,只是给你们这些初学者更多的办法吧;按照你的源代码,和你后边的问题追问,我做了一下程序修改,现将源码给你

public static void main(String[] args) {
        String ss = "10.0.12.320";
        String[] sss = ss.split("\\.");
        Boolean b=true;
        for (int x = 0; x < sss.length; x++) {
            int a=Integer.valueOf(sss[x]);
            if (!(a >= 0 && a <= 255)){
                b=false;
                break;
            }
        }
        if (b)
            System.out.print(" zheng que ");
        else
            System.out.print("cuo wu");
    }

热心网友 时间:2023-10-26 20:30

在for循环中加上 a[x] = Integer.parseInt(sss[x]);
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
折儿是什么意思? 什么叫饭折? 饭折是什么意思 私募股权基金6种模式 私募投资业务管理系统 火山仙泉天然矿泉水产品特点 用苏打片带吃带洗真的能生男孩吗 凡山天然苏打水怎么样 美的面包机和面要多久 美的面包机和面的时间要多长 美的面包机怎么用手动操作 Java中的ip检查 了java查看ip地址 java里,怎么取得IP地址 java编程如何获取本地ip并显示在文本框中 5分钟左右的视频剪辑后期制作需要多少钱? 《java》中如何提取本地IP? java里面如何获取服务器的ip地址,帮帮忙 java获取局域网ip地址 具体代码 影视后期剪辑收费方式 java获取客户端IP 剪辑一条5分钟的视频一般收费多少? java 如何验证ip地址 电脑蓝屏 错误代码0x00000001a 怎样通过Java程序 获取本机IP地址..试了几种方法都不行 获取的都是192.168.*.*这种.想得到网络IP那种,求 java 获取客户端ip地址 怎么修改呀? 梦见已故的妈妈想要白瓜子和鱼缸里的小鱼 求java获取手机ip或者平板ip的代码 白瓜和什么能间作? 白瓜里有蛆吃了怎么办? java 正则表达式 提取IP 用java语言 截取字符串中的Ip地址,并判断是否合法,请问怎么做? 例“ip addess 192.160.2.3” 判断合法 事业单位编制调动具体程序?是否征求个人意见? 考取事业单位后怎么调档案? 事业单位跨县区调动需要盖那几个部门的章 考上事业单位,调档流程是什么呢? oppo手机来信息铃声怎么换 我想要更改信息铃声。 多股铜电线怎么接法,有图吗 多股电线接法图解 多股铜电线怎么接法,有图吗 电线怎么接(见图) 接电线要怎样接才算牢固,图片 在哪里可以看接电线正确接法图解? 我梦见满山遍野的青松绿油油的是什么意思? 电线连接有多少种连接方法,求图片 图片中电线怎么接,电工知识。 电线零线和火线的正确接法? 梦见到处水稻田绿油油的还有牛过世的爷爷? ...吓得我跑到田边,到处都是绿油油的秧苗,是什么意思? 病人梦见一大片绿油油的稻田