Check if IP address match pattern : IP Address « Network Protocol « Java






Check if IP address match pattern

      
/*
 * This file is part of aion-emu <aion-emu.com>.
 *
 * aion-emu is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * aion-emu is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with aion-emu.  If not, see <http://www.gnu.org/licenses/>.
 */
//package com.aionemu.commons.utils;

/**
 * @author KID, -Nemesiss-
 */
public class NetworkUtils
{
  /**
   * check if IP address match pattern
   * 
   * @param pattern
   *            *.*.*.* , 192.168.1.0-255 , *
   * @param address
   *            - 192.168.1.1<BR>
   *            <code>address = 10.2.88.12  pattern = *.*.*.*   result: true<BR>
   *                address = 10.2.88.12  pattern = *   result: true<BR>
   *                address = 10.2.88.12  pattern = 10.2.88.12-13   result: true<BR>
   *                address = 10.2.88.12  pattern = 10.2.88.13-125   result: false<BR></code>
   * @return true if address match pattern
   */
  public static boolean checkIPMatching(String pattern, String address)
  {
    if (pattern.equals("*.*.*.*") || pattern.equals("*"))
      return true;

    String[] mask = pattern.split("\\.");
    String[] ip_address = address.split("\\.");
    for (int i = 0; i < mask.length; i++)
    {
      if (mask[i].equals("*") || mask[i].equals(ip_address[i]))
        continue;
      else if (mask[i].contains("-"))
      {
        byte min = Byte.parseByte(mask[i].split("-")[0]);
        byte max = Byte.parseByte(mask[i].split("-")[1]);
        byte ip = Byte.parseByte(ip_address[i]);
        if (ip < min || ip > max)
          return false;
      }
      else
        return false;
    }
    return true;
  }
}

   
    
    
    
    
    
  








Related examples in the same category

1.Get IP
2.Get all IP addresses
3.Convert a hostname to the equivalent IP addressConvert a hostname to the equivalent IP address
4.Getting the Hostname of an IP Address
5.Get canonical host name
6.Getting the IP Address and Hostname of the Local Machine
7.Perform Network Lookup with the InetAddress class
8.Get hostname by a byte array containing the IP address
9.Display multiple IP addresses
10.Looking Up the Address of a HostLooking Up the Address of a Host
11.Retrieve the hostname of an IP Address
12.Retrieve the IP address of a hostname
13.Report By Address
14.Determine the IP address and hostname of the local machine
15.An nslookup clone in Java
16.Looking for Ports: 0 -- 1024
17.Looking for Port: 1024 -- 65536
18.Looking for Port: start from 65535
19.A class that performs some subnet calculations given a network address and a subnet mask.
20.Resolves string ip address and returns host name as a string
21.Resolves hostname and returns ip address as a string
22.Resolves ip address and returns host name as a string
23.This program demonstrates the InetAddress class
24.Converts IPv4 address in its textual presentation form into its numeric binary form.
25.Convert IPv6 presentation level address to network order binary form.
26.Finds this computer's global IP address
27.Finds a local, non-loopback, IPv4 address
28.Check if the specified address is a valid numeric TCP/IP address
29.Check if the specified address is within the required subnet
30.Check if the specified address is a valid numeric TCP/IP address and return as an integer value
31.Convert a raw IP address array as a String
32.Determine if the given string is a valid IPv4 or IPv6 address.Determine if the given string is a valid IPv4 or IPv6 address.
33.A string input validator for IPs and domains.
34.Get Current Environment Network IP