我需要一个正则表达式,让我输入一个介于0-5,000之间的值。我是一个新手,对正则表达式相当陌生。^(0?[0-4]?[0-9]?[0-9]?[0-9])$是我到目前为止所拥有的,但它只允许我转到4,999。谢谢
发布于 2012-01-07 00:27:51
为什么不将字符串的这一部分解析为数字,并在正则表达式之外将其与5000进行比较?如果您使用正则表达式,我敢打赌,无论谁要阅读您的代码,都会非常讨厌您!
发布于 2012-01-07 00:29:58
请不要使用正则表达式进行数值范围验证。使用正则表达式来确保字符串与模式匹配(即。仅由数字组成),然后将字符串转换为数字并验证该数字。
正则表达式不是金锤,它们可以有效使用的指甲数量有限。
发布于 2012-01-07 00:37:47
遵循Ilya Kogan的回答。
如果你真的想要,你可以这样做:
(5000|[1234]?\d{3})(?!\d)https://stackoverflow.com/questions/8760981
复制相似问题