Java 判断IP地址的合法性实例详解

Java 判断IP地址的合法性

0.前言

有时候我们要对用户输入的IP地址进行校验,判断这个IP地址是不是一个合法的IP地址。

1.实现思路

最简单的实现方法是构造一个正则表达式。判断用户的输入与正则表达式是否匹配。若匹配则是正确的IP地址,否则不是正确的IP地址。这里的难点是如何构造出一个可用的正则表达式。

2.Java实现

/**
 * Created by HUPENG on 2016/9/26.
 */
public class Tool {
  /**
   * 判断IP地址的合法性,这里采用了正则表达式的方法来判断
   * return true,合法
   * */
  public static boolean ipCheck(String text) {
    if (text != null && !text.isEmpty()) {
      // 定义正则表达式
      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)$";
      // 判断ip地址是否与正则表达式匹配
      if (text.matches(regex)) {
        // 返回判断信息
        return true;
      } else {
        // 返回判断信息
        return false;
      }
    }
    return false;
  }
}

3.调用的样例

String b = JOptionPane.showInputDialog("请输入邀请方IP地址:");
if (!Tool.ipCheck(b)){
  JOptionPane.showInternalMessageDialog(ChessController.this.getContentPane(),
    "IP地址格式错误" ,"游戏提示", JOptionPane.INFORMATION_MESSAGE);
}

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

时间: 2017-05-24

Java判断IP地址为内网IP还是公网IP的方法

本文实例讲述了Java判断IP地址为内网IP还是公网IP的方法.分享给大家供大家参考.具体分析如下: tcp/ip协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8:10.0.0.0-10.255.255.255 172.16.0.0/12:172.16.0.0-172.31.255.255 192.168.0.0/16:192.168.0.0-192.168.255.255 那么,直接上代码吧: 复制代码 代码如下: public static boolea

Android开发获取手机内网IP地址与外网IP地址的详细方法与源码实例

在进行Android应用开发过程中,有时候会遇到获取当前Android设备所使用的网络IP地址的场景,有时候需要本地的网络IP地址,即局域网地址,更多的时候是需要当前网络的真实的对外IP地址,即真实的网络地址,如大数据分析时往往需要Android设备上传本地的外网地址.本文对各种IP地址的获取进行了总结. 首先用大家比较熟悉的电脑端局域网地址和外网地址的获取方式对比一下:(1).电脑端局域网地址获取方式,可以通过在终端命令行输入ipconfig进行查看,如下图IPv地址标识的就是本机的局域网地址

PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)

如下所示: <?php $data = '254.254.254.254'; echo ip2long($data); function getIP() { if(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) $ip = getenv("HTTP_CLIENT_IP"); elseif(getenv

JS获取客户端IP地址、MAC和主机名的7个方法汇总

今天在搞JS(javascript)获取客户端IP的小程序,上网搜了下,好多在现在的系统和浏览器中的都无效,很无奈,在Chrome.FireFox中很少搞到直接利用ActiveX获取IP等的JS脚本.下面的代码是我在所有windowsNT5.0及以上的系统上都测试通过的,给出代码: 一.使用JS获取客户端IP的几个方法 方法一(只针对IE且客户端的IE允许AcitiveX运行,通过平台:XP,SERVER03,2000). 获取客户端IP代码: 复制代码 代码如下: <HTML> <HE

PHP中将ip地址转成十进制数的两种实用方法

PHP中如何将ip地址转成十进制数呢?现在PHP中有很多时候都会用到ip地址,但是这个ip地址获取的时候都不是10进制的.那么PHP中如何将ip地址转成十进制数就是我们比较头疼的事情了,下面两种方法是我整理处理来相对比较简单的IP地址转成十进制数的方法.希望能对大家有所帮助. 方法一: 复制代码 代码如下: public function ipToLong(){ $ip = $_SERVER['REMOTE_ADDR']; $ip = explode('.', $ip); $ip = array

javascript将ip地址第四段用星号代替的两种方法

第一种:用查找字符串的方法 ip地址第四段用星号代替的方法 var ip="192.168.10.192"; var a=ip.lastIndexOf("."); //首先,由lastIndexOf方法取得倒数第一个.所在的位置 var b=ip.substr(0,a); //其次,由substr方法取得0位到第三个点的子字符串 alert("您的ip是"+b+".*"); //第三,以第三段为星号的方式输出. [Ctrl+A

淘宝ip地址查询类分享(利用淘宝ip库)

淘宝公司提供了一个很好用的IP地理信息查询接口.在这里:http://ip.taobao.com/ 以下这个taobaoIPQuery类将极大的简化相关的信息查询. 复制代码 代码如下: <?php class taobaoIPQuery { private $m_ip;    private $m_content; public function __construct($ip) {        if (isset($ip)) {            $this->m_ip = $ip;

从外网访问内网本机的网站实现方法分享

这是一个比较古老的话题了.一般懂得搭建网站的朋友,应该都会有分享自己小站的冲动.一来可以展示自己的作品,二来也可以方便别人看看网站,提提意见.呵呵. 鉴于网上类似的详细教程真的很少,也许是问题太简单了吧.但仍然有不少网友经常会问道.所以今天我就给大家做个详细的图文介绍.希望大家能对大家有所帮助. 想要让自己的小站能正确的被其他朋友访问到,需要注意下面几个条件: 1.IIS配置正常(这是必须的):2.你的电脑的IIS对应端口(默认为80)打开了:3.路由器里,相应的虚拟服务器功能映射到了本地IP:

asp实现检查ip地址是否为内网或者私有ip地址的代码分享

asp检查ip地址是否为私有/内网ip地址源代码. 内网/私有IP地址网段如下,还有127开头的回环地址: 10.0.0.0-10.255.255.255 172.16.0.0-172.31.255.255 192.168.0.0-192.168.255.255 实现代码: <% function IpToNumber(ip)'IP地址转为数字 arr=split(ip,".") IpToNumber=256*256*256*clng(arr(0))+256*256*clng(a

java获取ip地址与网络接口的方法示例

java.net包 大家应该都知道,网络相关对象在java.net包中,Java net包下的类如下: 1.获取主机对象InetAddress //获取本地主机对象 InetAddress host = InetAddress.getLocalHost(); //根据ip地址或主机名获取主机对象,以主机名获取主机时需要DNS解析 InetAddress host = InetAddress.getByName("192.168.100.124"); InetAddress host =