我有一个文本框。此文本框应仅接受5到555之间的值。但我无法实现它。
我试过以下内容:
/^[0-9]{5, 500}$/
请在这种情况下帮助我。
答案 0 :(得分:3)
你需要什么:
^([5-9]|\d\d|[1-4]\d\d|5[0-4]\d|55[0-5])$
它使用|
有3个不同的语句来处理1位,2位和3位数字。
工作原理:
^ # String starts with ...
(
[5-9] # 1-Digit - Any digit 5 or over (5 to 9)
| # OR
\d\d # 2-Digit - Any 2 digits (since any 2-digit number will be within your range)
| # OR
[1-4]\d\d # 3-Digit (below 500) - Any digit 1 to 5 (100 to 500), followed by any 2 digits
| # OR
5[0-4]\d # 3-Digit (above 500, below 550) - 5, followed by any digit 0 to 4 (500 to 540),
# followed by any digit
| # OR
55[0-5] # 3-Digits (550 or above) - 55, followed by any digit 0 to 5 (550 to 555)
)
$ # ... String ends with
答案 1 :(得分:3)
这应该有用(虽然不推荐)
^(55[0-5]|5[0-4][0-9]|[1-4][0-9][0-9]|[1-9][0-9]|[5-9])$
<强> Regex Demo 强>
<强> Proof of correctness 强>