Javascript日期正则表达式,如2010-06-03
我需要一个函数来验证标题中格式的日期。我的功能有什么问题Javascript日期正则表达式,如2010-06-03,javascript,regex,Javascript,Regex,我需要一个函数来验证标题中格式的日期。我的功能有什么问题 function validateDate(date) { var pattern = new RegExp("^\d{4}-\d{2}-\d{2}$"); if (pattern.test(date)) return true; return false; } 谢谢 您需要使用正则表达式对象:/^\d{4}-\d{2}-\d{2}$/或转义反斜杠:“^\\d{4}-\\d{2}-\\d{2}$” 此外,如果字符串中除了日期之
function validateDate(date) {
var pattern = new RegExp("^\d{4}-\d{2}-\d{2}$");
if (pattern.test(date))
return true;
return false;
}
谢谢 您需要使用正则表达式对象:
/^\d{4}-\d{2}-\d{2}$/
或转义反斜杠:“^\\d{4}-\\d{2}-\\d{2}$”
此外,如果字符串中除了日期之外还有其他内容(例如空格),则此正则表达式将失败
所以
可能是更好的选择
这个正则表达式(当然)不会检查有效日期,只检查由四位数字、一个连字符、两位数字、另一个连字符和两个以上数字组成的字符串。你可能想
\d{1,2}
而不是\d{2}
)您可以使用正则表达式(某种程度上)验证日期,但它们并不漂亮。如果您想计算闰年或限制日期范围,则更糟糕。您需要使用正则表达式对象:
/^\d{4}-\d{2}-\d{2}$/
或避开反斜杠:“^\\d{4}-\\d{2}-\\d{2}$”
此外,如果字符串中除了日期之外还有其他内容(例如空格),则此正则表达式将失败
所以
可能是更好的选择
这个正则表达式(当然)不会检查有效日期,只检查由四位数字、一个连字符、两位数字、另一个连字符和两个以上数字组成的字符串。你可能想
\d{1,2}
而不是\d{2}
)您可以使用正则表达式(某种程度上)验证日期,但它们并不漂亮。更糟糕的是,如果你想计算闰年或限制日期范围。这是可行的,但它会验证9999-99-99之类的日期
function validateDate( date )
{
return /^\d{4}\-\d{2}\-\d{2}$/.test( date )
}
console.log( validateDate ( '2010-01-01' ) ); // True
这是可行的,但它将验证日期,如9999-99-99
function validateDate( date )
{
return /^\d{4}\-\d{2}\-\d{2}$/.test( date )
}
console.log( validateDate ( '2010-01-01' ) ); // True
这是您可以从以下方面获得帮助的(未经我自己测试): }
--莱因哈德(Reinhard)这是您可以从以下方面获得帮助的(未经我自己测试): }
--ReinhardSemi OT:
if(x)返回true
(否则)返回false
是不好的做法-只需使用返回(x)
。如果(x)返回true,则使用SEMIOT:
(否则)返回false
是不好的做法-只需使用返回(x)
。谢谢!您还消除了我对/REGEX/符号的混淆。我试过了,但引用了它,不知道它会自动创建一个regex object=Dthanks!您还消除了我对/REGEX/符号的混淆。我试过了,但引用了它,不知道它会自动创建一个regex对象=D
function validateDate(date) {
var pattern = new RegExp("(19|20)[0-9]{2}[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])");
var match = pattern.exec(date);
if (match != null) {
return true;
} else {
return false;
}