javascript - 以mm / dd / yyyy格式验证日期的正则表达式

时间:2013-07-06 12:36:11

标签: javascript regex validation date date-conversion

我不擅长正则表达。我有代码来验证dd / mm / yyyy格式,这也验证了闰年,我试图修改以使其适用于mm / dd / yyyy,但它们都失败了。

有人可以更改它以验证mm / dd / yyyy格式吗?

正则表达式:

  

^(((0 [1-9] | [12] \ d | 3 [01])/(0 [13578] | 1 [02])/((19 | [2-9] \ d) \ d {2}))|((0 [1-9] | [12] \ d | 30)/(0 [13456789] | 1 [012])/((19 | [2-9] \ d) \ d {2}))|((0 [1-9] | 1 \ d | 2 [0-8])/ 02 /((19 | [2-9] \ d)\ d {2})) |(29/02 /((1 [6-9] | [2-9] \ d)(0 [48] | [2468] [048] | [13579] [26])|((16 | [2468 ] [048] | [3579] [26])00))))$

答案 大家好,感谢大家的帮助,最后再次解析正则表达式,我得到了我的答案来验证mm / dd / yyyy格式

正则表达式:

  

/ ^(((0 [13578] | 1 [02])/(0 [1-9] | [12] \ d | 3 [01])/((19 | [2-9] \ d )\ d {2}))|((0 [13456789] | 1 [012])/(0 [1-9] | [12] \ d | 30)/((19 | [2-9] \ d )\ d {2}))|(02 /(0 [1-9] | 1 \ d | 2 [0-8])/((19 | [2-9] \ d)\ d {2}) )|(2月29日/((1 [6-9] | [2-9] \ d)(0 [48] | [2468] [048] | [13579] [26])|((16 | [ 2468] [048] | [3579] [26])00))))$ /克

1 个答案:

答案 0 :(得分:5)

尝试

function validateDate(testdate) {
    var date_regex = /^(0[1-9]|1[0-2])\/(0[1-9]|1\d|2\d|3[01])\/(19|20)\d{2}$/ ;
    return date_regex.test(testdate);
}

但最好使用正则表达式,使用日期字符串中的Date object,然后验证它。