You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
import java.util.regex.Pattern;
public class PasswordValidator { int minLength = 6; boolean requireUppercase = true; boolean requireLowercase = true; boolean requireDigit = true;
private final Pattern uppercasePattern = Pattern.compile("^(?=.*[A-Z]).+$"); private final Pattern lowercasePattern = Pattern.compile("^(?=.*[a-z]).+$"); private final Pattern digitPattern = Pattern.compile("^(?=.*\\d).+$");
public boolean validate(String password) { if (password.length() < minLength) { return false; } else if (requireUppercase && !uppercasePattern.matcher(password).matches()) { return false; } else if (requireLowercase && !lowercasePattern.matcher(password).matches()) { return false; } else if (requireDigit && !digitPattern.matcher(password).matches()) { return false; } return true; }
public int getMinLength() { return minLength; }
public void setMinLength(int minLength) { this.minLength = minLength; }
public boolean isRequireUppercase() { return requireUppercase; }
public void setRequireUppercase(boolean requireUppercase) { this.requireUppercase = requireUppercase; }
public boolean isRequireLowercase() { return requireLowercase; }
public void setRequireLowercase(boolean requireLowercase) { this.requireLowercase = requireLowercase; }
public boolean isRequireDigit() { return requireDigit; }
public void setRequireDigit(boolean requireDigit) { this.requireDigit = requireDigit; } }
|