正则表达式数字小于82

时间:2012-05-31 13:54:52

标签: regex

我正在尝试编写一个简单的正则表达式,但我不知道为什么它不起作用。

用户输入2位数字,例如01092355,直到8282系统拒绝后。

这是我的正则表达式,2个数字必须小于82。

0[1-9]|[1-8][0-9]|8[0-2]

3 个答案:

答案 0 :(得分:7)

对于范围10-79,您应该[1-7],而不是[1-8]。不要忘记^$来指定字符串的开头和结尾:

^(0[1-9]|[1-7]\d|8[0-2])$

答案 1 :(得分:4)

为什么不转换为整数然后只测试x < 82

答案 2 :(得分:1)

你的第二部分是错的。它匹配从10到89,而你希望它匹配从10到79,让第三部分处理80到82.

0[1-9]|[1-7][0-9]|8[0-2]