* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
import java.util.StringTokenizer;
/**
* This class verifies the format of the IP address as per Internet Protocol version 4 (IPv4)
*/
public class IpFormatCheck
{
public static void main(String args[])
{
String ipAddress = "110.111.112.113";
if (!IpFormatCheck.checkIpFormat(ipAddress))
{
System.out.println("InCorrect");
}
else
{
System.out.println("Correct");
}
}
// true = success && false = fail
public static boolean checkIpFormat(String ipAddress)
{
char[] arr = ipAddress.toCharArray();
int charCount = 0;
for (int i = 0; i < arr.length; i++)
{
if (arr[i] == '.')
{
charCount++;
}
}
if (charCount != 3)
{
System.out.println("Wrong Number of Octets");
return false;
}
StringTokenizer tok = new StringTokenizer(ipAddress, ".", false);
int count = 0;
while (tok.hasMoreTokens())
{
count++;
String temp = tok.nextToken().toString();
try
{
int value = Integer.parseInt(temp);
if (value < 0 || value > 254)
{
return false;
}
}
catch (Exception e)
{
return false;
}
}
return true;
}
}