javascript - 正则表达式以mm / dd / yyyy格式验证日期 [英] javascript - regular expression to validate date in mm/dd/yyyy format

查看:91
本文介绍了javascript - 正则表达式以mm / dd / yyyy格式验证日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不喜欢正式表达。我有代码来验证dd / mm / yyyy格式,这也验证了闰年,我尝试修改以使其工作在mm / dd / yyyy,但都失败了。



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



正则表达式:

$ ((19 [[2-9] | [12] \d | 3 [01])/((19 | [2-9 ] \\(\d)\d {2}))|((0 [1-9] | [12] \d | 30)/(0 [13456789] | 1 [012] 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] [26])|((16 | [048] | [3579] [26])00))))$



$ b $嗨所有的谢谢你们所有的帮助,最后再次解析正则表达式,我得到我的答案来验证mm / dd / yyyy格式



正则表达式:


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



解决方案

尝试使用

  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对象从您的日期字符串,然后验证它。


I'm not good at regular expression. I got code to validate dd/mm/yyyy format which also validates leap year, I tried to modify to get it work for mm/dd/yyyy, but they all failed.

Can some one change it to validate mm/dd/yyyy format?

Regular Expression:

^(((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))))$

Answer Hi All, thanks for the help from all of you, finally parsing again the regular expression, i got my answer to validate mm/dd/yyyy format

Regular Expression:

/^(((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}))|(02/29/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/g

解决方案

Try with

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);
}

But better to use regular expression use Date object from your date string and then validate it.

这篇关于javascript - 正则表达式以mm / dd / yyyy格式验证日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆