All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.enilu.flash.core.validation.IPValidator Maven / Gradle / Ivy

package cn.enilu.flash.core.validation;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class IPValidator implements ConstraintValidator {
	private final static Pattern IP_PATTERN = Pattern
			.compile("^(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)$");

	@Override
	public void initialize(IP constraintAnnotation) {
	}

	@Override
	public boolean isValid(CharSequence value,
			ConstraintValidatorContext context) {
		if (value == null || value.length() == 0) {
			return true;
		}
		Matcher m = IP_PATTERN.matcher(value);
		if (m.find()) {
			for (int i = 0; i < 4; i++) {
				String s = m.group(i + 1);
				int num = Integer.parseInt(s);
				if (num > 255) {
					return false;
				}
			}
			return true;
		}
		return false;
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy