这似乎有效:

//ASSERT password not null private float getRating(String password) throws IllegalArgumentException { if (password == null) {throw new IllegalArgumentException();} int passwordStrength = 0; if (password.length() > 5) {passwordStrength++;} // minimal pw length of 6 if (password.toLowerCase()!= password) {passwordStrength++;} // lower and upper case if (password.length() > 8) {passwordStrength++;} // good pw length of 9+ int numDigits= Utilities.getNumberDigits(password); if (numDigits > 0 && numDigits != password.length()) {passwordStrength++;} // contains digits and non-digits return (float)passwordStrength; }

公用事业类

public static int getNumberDigits(String inString){ if (isEmpty(inString)) { return 0; } int numDigits= 0; int length= inString.length(); for (int i = 0; i < length; i++) { if (Character.isDigit(inString.charAt(i))) { numDigits++; } } return numDigits; } public static boolean isEmpty(String inString) { return inString == null || inString.length() == 0; }

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐