【发布时间】:2016-12-15 17:41:23
【问题描述】:
我正在尝试验证日期输入,如果日期和月份始终为两位数,我只希望它们通过。到目前为止,我一直在使用 SimpleDateFormat:
SimpleDateFormat df = new SimpleDateFormat("MM/dd/yyyy");
df.setLenient(false);
try
{
df.parse("10/1/1987");
df.parse("1/1/1987");
df.parse("1/10/1987");
df.parse("1/1/19");
}
catch (ParseException e)
{
e.printStackTrace();
}
不过,所有这些案例都在通过,我不希望其中任何一个通过。
有没有一种简单的方法来解决这个问题,或者我必须先用反斜杠上的字符串标记:
String[] dateParts = date.split("/");
if (dateParts.length != 3 && dateParts[0].length() != 2 && dateParts[1].length() != 2 && dateParts[2].length() != 4)
System.out.println("Invalid date format");
【问题讨论】:
-
您可以使用正则表达式,例如 ([0-9]{2})/([0-9]{2})/([0-9]{4})
-
你搞定了吗?
-
@ItamarGreen 是的,谢谢。
-
@JimmyP 那么你应该接受一个答案,那个帮助你让它工作的答案
标签: java validation date