正则表达式可用于验证特定数字范围之外的数字


Can regex be used to validate numbers OUTSIDE a range of specific numbers?

我已经参考了几个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";
                    }

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

则表达式的可读性会降低,但像

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

正则表达式演示