javascript - 使用正则表达式验证日期

标签 javascript regex

日期格式为2015/04/25 我正在努力

^\d{4}\/\d{2}\/\d{2}$

它工作正常,但我想验证月份应小于 12,日期应小于 31

我试过这个

^\d{4}\/(\d{2}\<[12])\/\d{2}$

但是它不起作用。

PS:我对正则表达式非常菜鸟。

最佳答案

您可以使用

^\d{4}\/(0\d|1[0-2])\/([0-2]\d|3[01])$

说明:

  • \d{4} 任意四位数字
  • (0\d|1[0-2]) 0(任意数字)或 1(0 到 2),即 00 到 0910 -12
  • ([0-2]\d|3[01])(0 到 2)(任意数字)或 3(0 或 1),即 00 到 2930 或 31

编辑1:如果您只想匹配 01-12 中的月份和 01-31 中的仅匹配天(没有 00)您可以使用:

^\d{4}\/(0[1-9]|1[0-2])\/(0[1-9]|[12]\d|3[01])$

Edit2:如果您想严格验证日期,请使用explodecheckdate..按照@Wayne的建议..因为它还包括闰年验证。

参见Demo

关于javascript - 使用正则表达式验证日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29864231/

相关文章:

javascript - Angularjs:重置特定的 $scope 对象属性

javascript - Greasemonkey 欺骗用户代理

MySQL 正则表达式 - 不以元音开头或结尾

Javascript 验证不适用于正则表达式

regex - 如何在 Google BigQuery 中的 URL 字符串中的模式后提取带有 SYMBOLS 的字符串

javascript - Sweetalert - 获取 div 内容并将其显示为文本

javascript - TypeError : $(. ..).datepicker 不是函数

javascript - 删除某个元素除了某个子元素(或某些子元素)之外的所有子元素

java - 如何使用 Java 正则表达式将二进制字符串拆分为仅包含 1 或 0 的组?

php - 正则表达式:在背景图像 CSS 中查找 URL,遇到问题