Javascript 日期正则表达式 例如。 2010-06-03

标签 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}$"

此外,如果字符串中除了日期之外还有任何其他内容(例如空格),此正则表达式将失败。

所以

var pattern = /^\s*\d{4}-\d{2}-\d{2}\s*$/;

可能是更好的选择。

此正则表达式(当然)不会检查有效日期,只会检查由四位数字、一个连字符、两个数字、另一个连字符和另外两个数字组成的字符串。你可能想要

  1. 使前导零可选(即使用 \d{1,2} 而不是 \d{2})
  2. 在正则表达式之外执行实际日期验证。

您可以(某种程度上)使用正则表达式验证日期,但它们并不漂亮。如果您想考虑闰年或限制日期范围,情况会更糟。

关于Javascript 日期正则表达式 例如。 2010-06-03,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3149761/

相关文章:

javascript - 设置值后 PHP 变量似乎为空

javascript - 在 OWL Carousel 中滑动 2 个元素

javascript - Canvas 烟雾颗粒不动

regex - 在 Scala 中使用带过滤器的正则表达式

python - 正则表达式 python 条字符

Ruby 使用正则表达式从字符串中提取数据

用于验证电子邮件的 MySQL 正则表达式不起作用 - 大括号量词被忽略

javascript - 数据表通过按键选择扩展/导航

javascript - 拉动刷新数据重复

javascript - 单击提交按钮打开打印预览