javascript - Javascript 中 MM/DD/YYYY 的正则表达式

标签 javascript regex

我刚刚用 javaScript 编写了这个正则表达式,但它似乎不起作用,这是我的函数:

function isGoodDate(dt){
    var reGoodDate = new RegExp("/^((0?[1-9]|1[012])[- /.](0?[1-9]|[12][0-9]|3[01])[- /.](19|20)?[0-9]{2})*$/");
    return reGoodDate.test(dt);
}

这就是我在表单验证中的称呼

if(!isGoodDate(userInput[1].value)){
           alert("date not in correct format of MM/dd/YYYY");
           return false;  
        }

现在我希望它返回 MM/DD/YYYY,但是如果我在其中输入有效日期,它会引发警报吗?有什么想法吗?

最佳答案

注意,在您复制+粘贴之前:该问题的正则表达式中包含一些句法错误。这个答案正在纠正语法。它并没有声称自己是日期/时间解析的最佳正则表达式。

试试这个:

function isGoodDate(dt){
    var reGoodDate = /^((0?[1-9]|1[012])[- /.](0?[1-9]|[12][0-9]|3[01])[- /.](19|20)?[0-9]{2})*$/;
    return reGoodDate.test(dt);
}

你要么声明一个正则表达式:

new RegExp("^((0?[1-9]|1[012])[- /.](0?[1-9]|[12][0-9]|3[01])[- /.](19|20)?[0-9]{2})*$")

或者:

/^((0?[1-9]|1[012])[- /.](0?[1-9]|[12][0-9]|3[01])[- /.](19|20)?[0-9]{2})*$/

注意 /

关于javascript - Javascript 中 MM/DD/YYYY 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6402743/

相关文章:

javascript - 让 smoothState.js 和 Foundation 6 协同工作

javascript - 使用 jQuery,我如何检测元素是否为 'mouseovered' 以及该元素的任何子元素?

javascript - Express.js - 图像仅在一页上呈现

C# 正则表达式,包含包含星号的单词

javascript - 关于用 JavaScript 解析这个字符串有什么想法吗?

javascript - 在javascript中使用mysql代码?

javascript - 如何在json2html库中使用li标签

regex - ansible lineinfile 正则表达式 多行

java - 如何使用 Jsoup 和/或正则表达式 Java 从 URL 中删除 html 标签

正则表达式 : FirstName LastName (domain. com)