首页 > 系统 > Android > 正文

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

2019-12-12 02:45:38
字体:
来源:转载
供稿:网友

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

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表