我正在为日期格式MM / DD / YYYY创建正则表达式。
String regex = "^(0[1-9]||1[0-2])/"
+ "([0-2][0-9]||3[0-1]||[1-9])/"
+ "([0-9][0-9][0-9][0-9]||[0-9][0-9][0-9]||[0-9][0-9]||[0-9])$";
它工作正常,但是如果我输入//或1/12 /,它将接受输入。
我该如何解决?
答案 0 :(得分:0)
尝试使用^(0[1-9]|1[0-2])\/([1-2][0-9]|3[0-1]|0[1-9])\/(\d{4})$
作为您的正则表达式字符串。你把一天的时间弄得一团糟。我也逃脱了/
。它应该在0000到9999年之间工作。
我建议在使用正则表达式测试器(例如this one时,尝试以较小的位(例如,先用“ MM”,然后用“ DD”,再用“ YYYY”,然后用斜杠)构建表达式。 )。
答案 1 :(得分:-1)
如果您严格遵循MM / DD / YYYY
,则此方法会很好地工作String regex = "^(0[1-9]{1}||1[0-2]{1}){1}/([0-2]{1}[0-9]{1}||3[0-1]{1}||[1-9]{2}){1}/([0-9]{4}){1}$";