我刚刚用 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/