Ruby implementation is_numeric? for Strings, need better alternatives
numerical, ruby, string
Solution
Please make sure use `\A` and `\Z` rather than `^` and `$`, to match the entire string rather than just a single line in the string. If you want to avoid matching a string with an ending newline, use '\z' at the end. For more issues, see The Regex Tutorial on anchors.
For example, `/^[0-9]+$/` successfully matches the following:
foo
1234
bar
but `/\A[0-9]+\Z/` does not.
Problem
I wanted to validate 'numericality' of a string (its not an attribute in an active-record model). I just need it to be a valid base 10, positive integer string. I am doing this: ``` 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 ``` Which of these is a more plausible alternative? OR, is there any other better implementation?