Java使用正则表达式限制日期输入格式(yy-MM-dd):
Scanner sc = new Scanner(System.in);
String regular3 = "^((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29))$";
String s = sc.nextLine();
System.out.println(Pattern.matches(regular3, s));
使用正则表达式限制键盘输入为yy-MM-dd,如果不是此类型会返回false,反之为true。
必须是yy-MM-dd格式,2022-9-13也会返回false。