使用正则表达式验证日期格式

时间:2011-11-17 20:06:02

标签: ruby-on-rails ruby regex validation

使用正则表达式,我如何验证日期以确保仅以此格式输入:mm / dd / yyyy?

如果有人有兴趣,我在Ruby模型中使用validates_format_of :date_field, :with => //

2 个答案:

答案 0 :(得分:5)

此格式的正则表达式如下所示:

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

答案 1 :(得分:3)

@hsz答案是对的。如果您还需要验证日期本身,您可以使用:

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

编辑:

正如@Tim所说,这不是100%的正则表达式验证器。请参阅他的相关答案。

if subject =~ /\A(?:0?[1-9]|1[0-2])\/(?:0?[1-9]|[1-2]\d|3[01])\/\d{4}\Z/
    # Successful match

编辑#2:上面的Ruby特定版本。