正则表达式验证时间段

时间:2017-07-19 06:33:03

标签: javascript jquery regex

希望使用正则表达式验证时间段。

时间段可以人类可读的格式给出。示例如下

  • 1小时10分钟
  • 2天10小时
  • 3周4天
  • 5天4小时3分钟

到目前为止我所得到的是\d\s(days?|weeks?|months?|hours?|minutes?|seconds?)

期间应仅包含数字或期间(天,周......),数字和期间应以空格分隔,期间应按周,天,小时和分钟的降序排列。

1 个答案:

答案 0 :(得分:0)

修改

我认为这个正则表达式是你想要的:/^([1-9][0-9]*\sdays?\s?)?([1-9][0-9]*\sweeks?\s?)?([1-9][0-9]*\smonths?\s?)?([1-9][0-9]*\shours?\s?)?([1-9][0-9]*\sminutes?\s?)?([1-9][0-9]*\sseconds?\s?)?$/

几乎没有测试:

  • 1小时10分钟→真实
  • 2天10小时1个月→假
  • 3周4天84天→假
  • 5天4小时3分钟→真实
  • 0分钟→假