我需要javascript中的正则表达式,可以使用以下格式测试日期:
抱歉,但我对正则表达式非常糟糕。对于专业人士而言,这可能是轻而易举的事。万分感谢。
答案 0 :(得分:1)
您的第一个模式与其他模式有太大不同,无法进行有意义的合并。所以:\d{4}-\d\d-\d\d
对于其他人,您允许使用可选的.
作为分隔符,以及两位或四位数年份。所以你有:\d\d(\.?)\d\d?\1\d\d(?:\d\d)?
上面的\1
基本上是重复(\.?)
的结果 - 即。如果之前有一个点,则为一个点,否则为空。
结果:
/^(?:\d{4}-\d\d-\d\d|\d\d(\.?)\d\d?\1\d\d(?:\d\d)?)$/
答案 1 :(得分:1)
你看过here了吗?你不想使用正则表达式这样的东西,因为前面提到的99.33.8888不是约会对象。
这个聪明的功能可以解决您的问题:
var isDate_ = function(input) {
var status = false;
if (!input || input.length <= 0) {
status = false;
} else {
var result = new Date(input);
if (result == 'Invalid Date') {
status = false;
} else {
status = true;
}
}
return status;
}
编辑:我忘了你需要找一些要验证的东西。您可以像这样运行一个简单的正则表达式:[0-9-/\.]{6,10}
,它匹配您的所有示例