繁体   English   中英

正则表达式验证 YYYY-MM-DD 格式

[英]Regex validation YYYY-MM-DD format

我正在使用正则表达式来验证日期格式(YYYY-MM-DD)使用这个 gem( https://github.com/nicolasblanco/rails_param

param! :start_date, Date, format: /([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))/, required: true, message: "Query start_date is not specified and invalid"

对于正确的日期格式,它也说错误 Query start_date is not specified

示例查询http://localhost:3005/data?start_date=2008-01-27&end_date=2009-01-27

它不工作

YYYY-MM-DD aka ISO8601格式的正确验证是:

require 'date'
input = '2019-12-11'
Date.parse(input).to_s == input

不应将正则表达式用于此目的。

显示结果假设您已验证 1900-2019

/^(19[0-9][0-9]|20[0-1][0-9])-(0[0-9]|1[0-2])-(0[0-9]|1[0-9]|2[0-9]|3[0-1])$/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM