我必须创建一个java程序,根据以下条件检查密码是否有效:
长度至少5个字符或最多12个字符
以大写字母开头
以两个不同的数字结尾
至少包含以下一个特殊字符:!“#$%&'()*+-
包含至少一个小写字母
这是我到目前为止写的,我想知道检查第二个条件(密码必须以两个不同的数字结尾)的正则表达式是什么?
import java.util.Scanner;
public class PasswordValidation {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Please enter a password");
String password = sc.next();
if (isValid(password)) {
System.out.println("OK");
} else {
System.out.println("NO");
}
}
public static boolean isValid (String password) {
return password.matches ("^[A-Z](?=.*[a-z])(?=.*[!#$%&'()+-]).{5,12}$");
}
}
1条答案
按热度按时间rkue9o1l1#
尝试使用此正则表达式模式:
java代码:
这个指纹
MATCH
.下面是正则表达式模式的解释: