【发布时间】:2019-10-26 18:24:02
【问题描述】:
在我的逻辑中,我需要一个字符串变量保存在数据库中,该字符串实际上是某种时间格式,通过以下方式自定义 toString 变量:
(days)d(hours)h(minutes)m
示例 2 天 15 小时半 =>2d15h30m
我想确保没有人在期望提交该格式并提供另一种格式的文本输入上进行巨魔,我一直很糟糕构建模式和正则表达式,有人可以帮我快速解决这个问题吗?
我自己试过了:
([0-9]{1}|[0-9]{1}|[0-9]{1})d([0-1]{1}[0-9]{1}|20|21|22|23)h([0-5]{1}|[0-9]{1})m
但它没有成功,就像我每次尝试构建其中一个一样。
【问题讨论】:
-
(\d+)d([01]?\d|2[0-3])h([0-5]?\d)m -
我想你可以使用
pattern="\d+d(?:0?[1-9]|1\d|2[0-3])h[0-5]?\dm"。0d0h0m有效吗? -
嘿,感谢两位的快速回答,没有 0d0h0m 这是唯一不可能的结果,至少它应该包含 1 分钟 (0d0h1m) 我忘了说对不起......我'我不习惯在这里问我会改进的!
标签: javascript regex time