package ir.xweb.util;
public class Validator {
public final static String VALIDATOR_ALL = "";
public final static String VALIDATOR_NAME = "^[A-Za-z0-9 ]{3,20}$";
/**
* This regex does not support all the possible validation. For complete email detection you can use Apache commons-validator project.
* @see <a href="http://commons.apache.org/proper/commons-validator">commons-validator</a>
*/
public final static String VALIDATOR_EMAIL = "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$";
//public final static String VALIDATOR_EMAIL = "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
public final static String VALIDATOR_USERNAME = "^[A-Za-z0-9_]{4,20}$";
public final static String VALIDATOR_PASSWORD = "^[A-Za-z0-9!@#$%^&*()_]{6,20}$";
public final static String VALIDATOR_GENDER = "1|2"; // match number = ^\d*$
public final static String VALIDATOR_AGE = "^[A-Za-z0-9!@#$%^&*()_]{6,20}$";
public final static String VALIDATOR_JOB = "^[A-Za-z0-9!@#$%^&*()_]{6,20}$";
public final static String VALIDATOR_ASSOCIATION = "^[A-Za-z0-9!@#$%^&*()_]{6,20}$";
public final static String VALIDATOR_NUMBER = "^[A-Za-z0-9!@#$%^&*()_]{6,20}$";
public static boolean validate(final String regex, final String text, final boolean required) {
if(regex == null) {
throw new IllegalArgumentException("null regex");
}
if(text == null) {
return !required;
} else if(regex.length() == 0) {
return true;
} else {
return text.matches(regex);
}
}
public static void validateOrThrow(final String regex, final String text, final boolean required) {
if(!validate(regex, text, required)) {
throw new IllegalArgumentException("Illegal value: " + text);
}
}
}