当前位置: 移动技术网 > 移动技术>移动开发>Android > Android 判断ip地址合法实现代码

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

2019年07月24日  | 移动技术网移动技术  | 我要评论

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的合法性。

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网