可以使用正则表达式来验证一系列特定数字以外的数字吗?

时间:2014-12-31 15:36:33

标签: php regex

我已经提到了几个SO网页来回答我的问题,但我一直在读,正则表达式不应该用于验证小于或大于某个范围的数字。我想确保用户输入以下范围内的数字:11--20和65-100。任何小于11的东西都是不允许的,21到64之间的任何东西都是不允许的,并且不允许从101以上的任何东西。我意识到我可以写出像

这样的东西
                    if ($num <=10 and $num >= 21 and $num <=64 and $num >=101) {
                    $num = "";
                    $numErr = "Number must be within  specified ranges";
                    }

但我真正想要的是使用正则表达式来排除我不想输入的数字范围,但我没有看到任何令人满意的答案。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:4)

正则表达式的可读性较差,但

/^(1[1-9]|20|6[5-9]|[7-9][0-9]|100)$/

Regex Demo