java可以使用正则表达式判断是否是IP。
ip的正则表达式:
格式是由“.”分割的四部分,每部分的范围是0-255;zhi
每段的正则可以分几部分来写:dao200—255;100-199;10-99;0-9;
每一部分对应的正则表达式: 2[0-4]\d|25[0-5]; 1\d{2}; [1-9]\d; \d
所以连起来就是\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5]
那么IP的正则就是(\d|[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])\.(\d|[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])
在JS中表示为:/^(\d|[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])\.(\d|[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])$/
实现代码如下:
/** 1. @Title:IpAddress.java 2. @Package:com.you.dao 3. @Description:用正则表达式判断是否为IP */ package com.you.dao; import java.util.regex.Matcher; import java.util.regex.Patten; /** 7. @类名:IpAddress 8. @描述:用正则表达式判断是否为IP 9. @Author:Administrator 10. @date: 2014年3月4日 下午10:55:06 */ public class IpAddress { public static class IpAdd { 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(); return ipAddress; } } /** * @Title : main * @Description : IP可能的范围是0-255.0-255.0-255.0-255 * @param args */ public static void main(String[] args) { /** * 符合IP地址的范围 */ String oneAddress = "10.127.30.45"; /** * 符合IP地址的长度范围但是不符合格式 */ String twoAddress = "127.30.45"; /** * 不符合IP地址的长度范围 */ String threeAddress = "7.0.4"; /** * 不符合IP地址的长度范围但是不符合IP取值范围 */ String fourAddress = "255.255.255.2567"; IpAdd ipAdd = new IpAdd(); //判断oneAddress是否是IP System.out.println(ipAdd.isIP(oneAddress)); //判断twoAddress是否是IP System.out.println(ipAdd.isIP(twoAddress)); //判断threeAddress是否是IP System.out.println(ipAdd.isIP(threeAddress)); //判断fourAddress是否是IP System.out.println(ipAdd.isIP(fourAddress)); } }
以上就是java判断是否是ip的方法的详细内容,更多请关注亿速云其它相关文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。