使用正则表达式,如何验证日期,以确保它只以这种格式输入:mm/dd/yyyy?
如果有人感兴趣,我在Ruby模型中使用validates_format_of :date_field, :with => //
。
使用正则表达式,如何验证日期,以确保它只以这种格式输入:mm/dd/yyyy?
如果有人感兴趣,我在Ruby模型中使用validates_format_of :date_field, :with => //
。
针对这种格式的正则表达式可以如下所示:
^\d{2}\/\d{2}\/\d{4}$
\\
。我试图修复这个错误,但更改被重置回原来的状态。 - Artem Kalinchuk@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
/
字符。 - Artem Kalinchuk
DateTime.strptime
和适当的格式字符串以及异常处理程序会更好。 - mu is too short