【发布时间】:2009-08-17 08:54:39
【问题描述】:
我想验证字符串的“数值”(它不是活动记录模型中的属性)。我只需要它是一个有效的以 10 为底的正整数字符串。我正在这样做:
class String
def numeric?
# Check if every character is a digit
!!self.match(/\A[0-9]+\Z/)
end
end
class String
def numeric?
# Check is there is *any* non-numeric character
!self.match(/[^0-9]/)
end
end
以下哪一个是更合理的选择?或者,还有其他更好的实现方式吗?
【问题讨论】:
-
出于好奇,为什么要使用
{1,1}乘数?默认情况下,所有字符类和文字只匹配一次,除非另有说明。这是多余的。 -
可怜的我!我会立即删除它。