我不擅长正则表达式,所以我什至不会假装。我想要做的是验证一个字符串是否为数字并采用以下格式yyyy-mm-dd
,另一个类似但时间hh:mm AM/PM
在谷歌上我能找到的最好的尝试是 for mm-dd-yyyy
, mm/dd/yyyy
.
那么任何人都可以在这里为我需要的两种模式提供帮助吗?将模式与字符串进行比较的最佳方法是什么?是它.test()
还是.match()
别的什么?
我不擅长正则表达式,所以我什至不会假装。我想要做的是验证一个字符串是否为数字并采用以下格式yyyy-mm-dd
,另一个类似但时间hh:mm AM/PM
在谷歌上我能找到的最好的尝试是 for mm-dd-yyyy
, mm/dd/yyyy
.
那么任何人都可以在这里为我需要的两种模式提供帮助吗?将模式与字符串进行比较的最佳方法是什么?是它.test()
还是.match()
别的什么?
这是日期:
/^[0-9]{4}-(((0[13578]|(10|12))-(0[1-9]|[1-2][0-9]|3[0-1]))|(02-(0[1-9]|[1-2][0-9]))|((0[469]|11)-(0[1-9]|[1-2][0-9]|30)))$/.test(date);
这是时间:
/^([1-9]|1[0-2]|0[1-9]){1}(:[0-5][0-9] [AP][M]){1}$/.test(time);
REF:从谷歌的第一个结果开始。
我不知道这是否有帮助,但自从我尝试过momentjs 之后,我从来没有遇到过日期问题,这绝对值得一看。