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

Mar*_*man 8 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);
}
Run Code Online (Sandbox Code Playgroud)

这就是我在表单验证中调用它的方式

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

现在我希望它返回MM/DD/YYYY但是如果我在其中放置一个有效的日期会引发警报?任何人的想法?

Jan*_*Jan 12

试试这个:

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);
}
Run Code Online (Sandbox Code Playgroud)

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

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

要么:

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

请注意 /