在我看来,最好使用正则表达式验证格式,但使用代码验证有效性(在您的情况下为Java).尝试检查诸如每月不同的日子和正常表达的闰年之类的事情是荒谬的.
我建议使用一个正则表达式像解析日期([0-9]{2})\\([0-9]{2})\\([0-9]{4}),然后提取每个片(dd,mm,和yyyy,分别地),并尝试创建一个java.util.Date对象了出来.
请注意以下事项:
/)而不是反斜杠(\)编写,\\\\两个反斜杠(\\)字符.在java字符串中写一个反斜杠我们需要转义字符(这也是一个\).正则表达式dd/mm/yyyy
String regex = "^([0-2][0-9]||3[0-1])/(0[0-9]||1[0-2])/([0-9][0-9])?[0-9][0-9]$";
Run Code Online (Sandbox Code Playgroud)