如何验证字符串是一年

rai*_*ser 2 ruby ruby-on-rails

使用Ruby / RoR-年是模型/视图中的字符串。如何验证用户输入的字符串是有效的公历年份?

Pet*_*ter 5

听起来更直接的问题是:如何验证用户输入的字符串对应于1582和2500之间的数字(例如)。您可以这样做:

 date_string.scan(/\D/).empty? and (1582..2500).include?(date_string.to_i)
Run Code Online (Sandbox Code Playgroud)

这样,您也可以选择一个有意义的年份-例如,800是否真的是您应用程序中的有效答案?还是3000?


Gre*_*ell 5

这是一种方法:

Date.strptime(date_str, "%Y").gregorian?
Run Code Online (Sandbox Code Playgroud)

请注意,如果字符串采用意外格式,这将引发异常。另一个(更宽容)的选择是:

Date.new(date_str.to_i).gregorian?
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

1705 次

最近记录:

6 年,7 月 前