com.baidu.terminator.manager.common.validation.IPValidator.java Source code

Java tutorial

Introduction

Here is the source code for com.baidu.terminator.manager.common.validation.IPValidator.java

Source

/*  
 *    Copyright(C) 2010-2013 Baidu Group
 *  
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License version 2 as
 *  published by the Free Software Foundation.
 *  
 */
package com.baidu.terminator.manager.common.validation;

import java.lang.annotation.Annotation;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;

import org.apache.commons.lang.StringUtils;

public class IPValidator implements ConstraintValidator<Annotation, String> {

    @Override
    public void initialize(Annotation annotation) {

    }

    @Override
    public boolean isValid(String ip, ConstraintValidatorContext arg1) {
        Pattern pattern = Pattern.compile(
                "\\b((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\b");
        if (StringUtils.isNotBlank(ip)) {
            Matcher matcher = pattern.matcher(ip);
            return matcher.matches();
        }
        return false;
    }

}