Java:判断IP4地址合法性
来源:互联网 发布:淘宝客文案怎么写 编辑:程序博客网 时间:2024/04/29 15:33
Java:判断IP4地址合法性
一、判断IP4地址是否是合法地址
1. 最容易理解的方式
public static boolean validIP(String ip) {try {if (ip == null || ip.isEmpty()) {return false;}String[] parts = ip.split("\\.");if (parts.length != 4) {return false;}for (String s : parts) {int i = Integer.parseInt(s);if ((i < 0) || (i > 255)) {return false;}}if (ip.endsWith(".")) {return false;}return true;} catch (NumberFormatException nfe) {return false;}}
2. 正则表达式判断
public static boolean validIP(String ip) {if (ip == null || ip.isEmpty())return false;ip = ip.trim();if ((ip.length() < 6) & (ip.length() > 15))return false;try {String rule = "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.)" + "{3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$";Pattern pattern = Pattern.compile(rule);Matcher matcher = pattern.matcher(ip);return matcher.matches();} catch (PatternSyntaxException ex) {return false;}}
3. 使用commons-validator中的方法判断
public static boolean validIP(String ip) {return InetAddressValidator.getInstance().isValidInet4Address(ip);}
二、IP与整数之间相互转换
1. IP地址转换成整数
方法1:
public static long ip2long(String ip) {String[] ipArray = ip.split("\\.");long result = 0;for (int i = 0; i < ipArray.length; i++) {int power = 3 - i;result += (Integer.parseInt(ipArray[i]) % 256 * Math.pow(256, power));}return result;}方法2:public static long ip2long(String ip) {long result = 0;String[] ipAddressInArray = ip.split("\\.");for (int i = 3; i >= 0; i--) {long temp = Long.parseLong(ipAddressInArray[3 - i]);result |= temp << (i * 8);}return result;}2. 整数转换成IP地址方法1:
public static String long2ip(long decimal) {StringBuffer result = new StringBuffer(15);for (int i = 0; i < 4; i++) {result.insert(0,Long.toString(decimal & 0xff));if (i < 3) {result.insert(0,'.');}decimal = decimal >> 8;}return result.toString();}方法2:
public static String long2ip(long decimal) {return ((decimal >> 24) & 0xFF) + "." + ((decimal >> 16) & 0xFF) + "." + ((decimal >> 8 ) & 0xFF) + "." + (decimal & 0xFF);}
三、判断IP地址是否在某个地址段内
public static boolean isRange(String ip, String start, String end){long temp = ip2long(ip);long low = ip2long(start);long high = ip2long(end);return temp >= low && temp <= high;}
0 1
- Java:判断IP4地址合法性
- Java判断IP地址合法性
- 判断IP地址的合法性(Java)
- 判断IP地址的合法性(Java)
- java获取当前电脑ip4的地址
- Java/Android中URL地址合法性的判断
- [javascript]判断ip地址合法性
- 判断IP地址的合法性
- 判断IP地址的合法性
- java 《判断身份证合法性》
- javascript 正则表达式判断IP地址合法性
- C 判断IP地址的合法性
- python怎么判断IP地址的合法性
- C++判断IP地址字符串的合法性
- 判断IP地址,MAC地址合法性-C语言
- 编写一个判断IP地址合法性的bash脚本
- Delphi经典实例14------判断E_Mail地址合法性
- iphone 电子邮箱的地址 邮箱地址合法性判断功能
- 黑马程序员---Foundation -NSArray
- Lotto
- poj 1330 Nearest Common Ancestors 【并查集求根 + 裸LCA】 【LCA入门题】
- UI连载五--常用UI控件—Label、Button、UITextField、UIImageView、UISlider、UISwitch、UIActivityIndicatorView等
- poj1426 find the multiple
- Java:判断IP4地址合法性
- C/C++, ","逗号运算符, 基本类型数据的初始化声明
- hdu 2225 奔小康赚大钱
- 隐藏tabBar
- POJ 1260 Pearls(DP)
- hdu 2032 杨辉三角
- Object-C连载九----内存管理
- Struts2体系结构图以及详解
- Emgu图片格式转换