当前位置: 首页 > 编程笔记 >

Android 判断ip地址合法实现代码

巫马松
2023-03-14
本文向大家介绍Android 判断ip地址合法实现代码,包括了Android 判断ip地址合法实现代码的使用技巧和注意事项,需要的朋友参考一下

Android 判断ip地址合法实现代码

昨天,我在网上找了一下判断文本框内的字符串是否是合法的ip地址,自己想到了正则表达式,可是自己对这个却不熟,所以在网上查找了一些资料,最后终于是做出来了。

具体的代码很简单,

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变量。

这样就完成了判断ip的合法性。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

 类似资料:
  • 本文向大家介绍Shell脚本实现IP地址合法性判断,包括了Shell脚本实现IP地址合法性判断的使用技巧和注意事项,需要的朋友参考一下 做unix/linux下的开发,脚本编写的功力是少不了的,作为shell编程,也是博大精深的一个技术领域,这里为了学习,就写一个简单的判断IP地址是否合法的微型脚本程序,这个小程序也是非常有用的。 IP地址是32位的,可以由4个十进制数值表示,每个数值的范围都是0

  • 本文向大家介绍python实现ip地址的包含关系判断,包括了python实现ip地址的包含关系判断的使用技巧和注意事项,需要的朋友参考一下 python的IPy模块虽然可以实现一些ip地址的判断,但是不是很完美,有些场景根本判断不出来,还会抛出异常,比如一个地址范围和一个ip/掩码,这种不同类型就无法判断。 对此通过自己写函数来实现ip地址的判断,实现的思路很简单,先把ip地址转换为一个十进制的范

  • 本文向大家介绍Android 获取IP地址的实现方法,包括了Android 获取IP地址的实现方法的使用技巧和注意事项,需要的朋友参考一下 Android 获取IP地址 最近做项目,有一个需求是Android设备获取当前IP的功能,经过一番查询资料解决了,记录下实现方法。 1.使用WIFI 首先设置用户权限 其次,代码如下 2.使用GPRS 首先,设置用户上网权限 <uses-permission

  • 本文向大家介绍Java判断IP地址为内网IP还是公网IP的方法,包括了Java判断IP地址为内网IP还是公网IP的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java判断IP地址为内网IP还是公网IP的方法。分享给大家供大家参考。具体分析如下: tcp/ip协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8:10.0.0.0~10.255.255

  • 本文向大家介绍C#判断ip地址是否可以ping的通,包括了C#判断ip地址是否可以ping的通的使用技巧和注意事项,需要的朋友参考一下

  • 本文向大家介绍C#获取真实IP地址(IP转为长整形、判断是否内网IP的方法),包括了C#获取真实IP地址(IP转为长整形、判断是否内网IP的方法)的使用技巧和注意事项,需要的朋友参考一下 今天查看登录日志,发现http_x_forwarded_for获取到的ip地址有些是内网ip地址,有些则是公网和内网ip地址一起获取到,用逗号分隔开,日志截图如下: 之前获取ip地址的C#代码如下: 看来http