用于验证日期的正则表达式 [重复]

Posted

技术标签:

【中文标题】用于验证日期的正则表达式 [重复]【英文标题】:regular expression for validating dates [duplicate] 【发布时间】:2013-11-02 18:36:39 【问题描述】:

我想知道是否有一个正则表达式模式可以验证信用卡到期日期是否早于今天。

在我的表单中,我有用户输入信用卡到期日期,并且需要某种客户端验证,因为我们使用网关提供商的直接发布 API,并且在此过程中不会发生服务器端验证。

日期字段位于 2 个单独的字段中,分别是月份和年份,但我们需要确保在将它们提交到网关之前捕获它们,以防万一它失败,因为网关返回我们无法避免的丑陋字符串消息。

对此的任何想法将不胜感激。

【问题讨论】:

【参考方案1】:
new Date().getTime() < new Date(year, month + 1).getTime()

+ 1 弥补了我们想要月底而不是月初这一事实。 (这里假设月份从 0 开始编号。)根据docs page for Date,如果month 参数因此超出范围也没关系。

【讨论】:

【参考方案2】:

您可以像这样进行简单的检查:

function isCCExpired(month, year) 
    var d = new Date();

    return (d.getFullYear() < year || d.getMonth() < month)

【讨论】:

d.getFullYear() &lt; year || d.getFullYear() === +year &amp;&amp; d.getMonth() &lt; month,实际上。 另外,你不需要写if (condition) return true; else return false;。您只需要return condition;。 (在某些情况下,您可能希望转换为布尔值,但在这种情况下,这并不重要。) 谢谢@david,我更新了。

以上是关于用于验证日期的正则表达式 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

yyyy-mm-dd 的正则表达式日期验证 [重复]

dd/mm/yyyy 格式的日期正则表达式,用于 javascript 验证

用于密码验证的正则表达式 [重复]

用于各种日期的 Python/Pandas 正则表达式 [重复]

用于密码验证的正则表达式,仅特定字符 [重复]

用于在 Swift 中为 UITextField 验证 Civil ID 的正则表达式 [重复]