首页 > 解决方案 > 数字范围的正则表达式和 -1

问题描述

我需要一个允许 1 - 2048 之间的任何正数(不能为 0)的正则表达式(Javascript)。但是它也应该允许一个负数:-1。

经过一些试验和错误,我想出了这个:^(-[1]|[1-9]+)$

这允许负 1 和任何数字。但是作为正则表达式的新手,我对如何将数字范围限制为 2048 感到困惑?

最后,我知道并不总是推荐使用正则表达式。但是在这种情况下,如果有几个条件(只有范围内的数字,没有特殊字符或空格,并且允许 -1),if 语句是否更可取?

标签: javascriptregex

解决方案


尝试

^(-1|[1-9][0-9]{0,2}|1[0-9]{0,3}|20[0-3][0-9]|204[0-8])$

推荐阅读