Passay - IllegalCharacterRule
IllegalCharacterRule 允许指定密码中不允许的字符。请考虑以下示例。
示例
import org.passay.IllegalCharacterRule;
import org.passay.NumberRangeRule;
import org.passay.PasswordData;
import org.passay.PasswordValidator;
import org.passay.RuleResult;
import org.passay.WhitespaceRule;
public class PassayExample {
public static void main(String[] args) {
//规则:密码中不允许使用 &、<、> 等特殊字符
IllegalCharacterRule illegalCharacterRule
= new IllegalCharacterRule(new char[] {'&', '<', '>'});
//规则:不允许1到5的数字
NumberRangeRule numberRangeRule = new NumberRangeRule(1, 5);
//规则:不允许有空格
WhitespaceRule whitespaceRule = new WhitespaceRule();
PasswordValidator validator
= new PasswordValidator(illegalCharacterRule,numberRangeRule,whitespaceRule);
PasswordData password = new PasswordData("abc&4d ef6");
RuleResult result = validator.validate(password);
if(result.isValid()){
System.out.println("Password validated.");
}else{
System.out.println("Invalid Password: " + validator.getMessages(result));
}
}
}
输出
Invalid Password: [ Password contains the illegal character '&'., Password contains the number '4'., Password contains a whitespace character.]

