0

我不擅长正则表达式,所以我什至不会假装。我想要做的是验证一个字符串是否为数字并采用以下格式yyyy-mm-dd,另一个类似但时间hh:mm AM/PM

在谷歌上我能找到的最好的尝试是 for mm-dd-yyyy, mm/dd/yyyy.

那么任何人都可以在这里为我需要的两种模式提供帮助吗?将模式与字符串进行比较的最佳方法是什么?是它.test()还是.match()别的什么?

4

2 回答 2

1

这是日期:

/^[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:从谷歌的第一个结果开始。

于 2013-01-22T22:40:18.330 回答
0

我不知道这是否有帮助,但自从我尝试过momentjs 之后,我从来没有遇到过日期问题,这绝对值得一看。

于 2013-01-22T22:50:36.213 回答