Jim*_*mmy 17 java regex validation
我需要验证一些用户输入,以确保输入的数字在1-99范围内.这些必须是整数(整数)值
允许使用前0,但可选
有效值
无效的值
到目前为止,我已经制定了以下正则表达式: ^0?([1-9][0-9])$
这允许在开头有一个可选的0,但不是100%正确,因为1
它不被视为有效
任何改进/建议?
Ali*_*aru 14
干得好:
^(\d?[1-9]|[1-9]0)$
Run Code Online (Sandbox Code Playgroud)
这意味着你允许任何一个
为什么正则表达式是一个要求?它不适合数值范围计算.
Apache commons的IntegerValidator具有以下内容:
isInRange(value, 1, 99)
Run Code Online (Sandbox Code Playgroud)
此外,如果您使用的是Spring,Struts,Wicket,Hibernate等,则您已经可以访问范围验证器.不要使用正则表达式重新发明轮子.