javascript - 数字范围的正则表达式和 -1
问题描述
我需要一个允许 1 - 2048 之间的任何正数(不能为 0)的正则表达式(Javascript)。但是它也应该允许一个负数:-1。
经过一些试验和错误,我想出了这个:^(-[1]|[1-9]+)$
这允许负 1 和任何数字。但是作为正则表达式的新手,我对如何将数字范围限制为 2048 感到困惑?
最后,我知道并不总是推荐使用正则表达式。但是在这种情况下,如果有几个条件(只有范围内的数字,没有特殊字符或空格,并且允许 -1),if 语句是否更可取?
解决方案
尝试
^(-1|[1-9][0-9]{0,2}|1[0-9]{0,3}|20[0-3][0-9]|204[0-8])$