用于验证日期时间格式的正则表达式(MM / DD / YYYY) [英] regular expression to validate datetime format (MM/DD/YYYY)

查看:1194
本文介绍了用于验证日期时间格式的正则表达式(MM / DD / YYYY)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试验证日期时间格式MM / DD / YYYY。以下是我正在尝试的代码请帮助。

I am trying to validate datetime format MM/DD/YYYY. Here is the code I am trying please help.

 function ValidateDate(testdate) {
        var Status
        var reg = /^(((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))))$/g;
        if (!reg.test(testdate)) {
            Status = false;
        }
        return Status;
    }


推荐答案

使用工具试用你的正则表达式比如 http://jsregex.com/ (有很多)或更好的单元测试。

Try your regex with a tool like http://jsregex.com/ (There is many) or better, a unit test.

对于天真的验证:

For a naive validation:

function validateDate(testdate) {
    var date_regex = /^\d{2}\/\d{2}\/\d{4}$/ ;
    return date_regex.test(testdate);
}

在您的情况下,要验证(MM / DD / YYYY),在1900年到2099年之间,我会这样写:

In your case, to validate (MM/DD/YYYY), with a year between 1900 and 2099, I'll write it like that:

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

这篇关于用于验证日期时间格式的正则表达式(MM / DD / YYYY)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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