例题:

现有一个ip 10.2.1.71 ,检测该ip是否为真实有效的ip,并判断该ip是否在10.2.1.1——10.2.1.255之间

解题思路:用正则表达式检测ip的真实性,如果真实,将该ip转化为10进制整数,再将ip的范围转化为整数进行判断。

public static String IP2Long(String ip)
{
  //检验ip真实性的正则表达式
String regex = "^(1\\d{2}|2[0-4 ]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
+ "(1\\d{2}|2[0-4]\\ d|25[0-5]|[1-9]\\d|\\d)\\."
+ "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+ "(1\\d{2}|2[0-4]\\ d|25[0-5]|[1-9]\\d|\\d)$";
if(!ip.matches(regex)){
System.out.println("这不是一个合法的ip");
return "这不是一个合法的ip";
}
double num = 0;
String[] ipBytes = ip.split("\\.");//将ip去掉".",分成 127 0 0 1 四个值
for (int i = ipBytes.length - 1; i >= 0; i--)
{//比如127.0.0.1 就是1对256取余数再乘以256的0次方 加上 0对256取余乘以256的一次方(127*256*256*256 + 0*256*256 + 0*256 + 1))
         num += ((Integer.parseInt(ipBytes[i])%256) * Math.pow(256,(3-i)));
}
System.out.println(String.format("%4f", num));//做格式化处理,系统输出的是科学计算法代码
return String.format("%4f", num);
}

面试题:检测一个ip的真实性,如果真实,确定其是不是在某一范围内的更多相关文章

  1. Shell脚本实现检测某ip网络畅通情况,实战用例

    Shell脚本实现检测某ip网络畅通情况,实战用例 环境准备,linux shell 发送email 邮件:1.安装sendmailyum -y install sendmail安装好sendmail ...

  2. php项目有负载,$_SERVER['HTTP_X_FORWARDED_FOR']函数在不同系统中获取到的值形式不一样,ios系统苹果手机只能获取到一个ip(113.87.214.xxx),而安卓手机获取到的是2个ip中间逗号隔开的形式(113.87.214.xxx , xxx.xxx.xxx.xxx)

    这次由于有个抽奖活动功能,苹果手机每次都抽奖失败,安卓手机每次都抽奖失败(5台ios手机,8台Android手机). 错误日志查看是因为,抽奖用户的ip记录进数据库时出错,之前都是拿到ip直接插入数据 ...

  3. java 检测代理IP是否准确

    我这里提供2个方法都可以实现:第一个是createIPAddress()和convertStreamToString() import java.io.IOException; import java ...

  4. 如何利用python教程判断一个 IP 在不在线?

    假设今天老板给我们一个任务,让我们判断一下一个 IP 在不在线.我们随手用 python 写一个 ping IP 的代码: import os host = input('请输入要检测的 IP : ' ...

  5. 检测代理IP匿名程度的方法,很实用

    做网络的基本都知道代理,这个是肯定的,不管是用花刺还是猎手的网页代理,还是直接VPN的通道代理,代理有着不用说大家也知道的重要性.不管是做CPA还是做点击亦或者投票,代理都能帮我们一下,虽然帮的忙不大 ...

  6. 配置Nginx支持SSL SNI(一个IP绑定多个证书) 以及Haproxy实现多域名证书

    概述 传统的每个SSL证书签发,每个证书都需要独立ip,假如你编译openssl和nginx时候开启TLS SNI (Server Name Identification) 支持,这样你可以安装多个S ...

  7. c语言,检测一个无符号整数中是否有偶数位个1

    最近在学习大牛Bryant O'Hallaron 的深入理解计算机系统,发现学了这么久的程序设计,其实有些基本的东西还不太了解,这不,这两天在恶补整数,浮点数在计算机中的表示,并且开始做上面的习题, ...

  8. 面试题-->写一个函数,返回一个数组中所有元素被第一个元素除的结果

    package com.rui.test; import java.util.Random; /** * @author poseidon * @version 1.0 * @date:2015年10 ...

  9. 【随笔】使用mOnOwall封禁某一个ip

    有时候,查看服务器日志时会发现某些人的恶意登录记录: 这时候,我们就要把这个ip封掉. 首先ping一下这个ip: 然后打开monowall路由页面,点击Firewall-->Rules: 点击 ...

随机推荐

  1. 【leetcode】1286. Iterator for Combination

    题目如下: Design an Iterator class, which has: A constructor that takes a string characters of sorted di ...

  2. 35. ClustrixDB 减少device1大小

    ClustrixDB中的device1文件用于所有数据库数据.撤消日志.临时表.binlog和ClustrixDB系统对象.ClustrixDB确保device1文件在集群的所有节点上大小相同.一旦得 ...

  3. EntityManager的基本方法

    1.Persistence 主要用来获取EntityManagerFactory的实例; 通过静态方法:createEntityManagerFactory 来实现: 该方法有两个重载版本:     ...

  4. 用jstl的if或when标签判断字符串是否为空

    在jsp页面用到jstl的if或when标签判断字符串不为空的时候,书写格式: <c:when test="${not empty paramName}"> </ ...

  5. Navicat导出表结构

    SQL Server导出表结构 Oracle导出表结构

  6. java 强制类项转换

    origin:http://blog.csdn.net/hikvision_java_gyh/article/details/8957450 编写java程序时,引用变量只能调用它编译时的类项方法.而 ...

  7. android动态加载

    转载自: http://www.cnblogs.com/over140/archive/2012/03/29/2423116.html http://www.cnblogs.com/over140/a ...

  8. mac重启nginx时报nginx.pid不存在的解决办法

    在安装nginx后,重启时发现报 nginx: [error] open() "/usr/local/var/run/nginx.pid" failed (2: No such f ...

  9. 也谈Tcp/Ip协议

    一. 计算机网络体系结构分层 一图看完本文 计算机网络体系结构分层 计算机网络体系结构分层 不难看出,TCP/IP 与 OSI 在分层模块上稍有区别.OSI 参考模型注重“通信协议必要的功能是什么”, ...

  10. 2017多校联合训练2—HDU6054--Is Derek lying?(思维题)

    Is Derek lying? Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)T ...