Javascript Regex限制某些数字,但允许所有其他数字

Javascript Regex限制某些数字,但允许所有其他数字,javascript,regex,Javascript,Regex,我希望正则表达式只允许除某些数字之外的数字 例:限制101-109。其他的都可以 尝试 任何其他值都应为true regex.test(100001) // should give true 这不起作用请尝试以下操作: !/^0|10[1-9]$/.test(101) 功能检查编号(n){ 返回!/^0 | 10[1-9]$/.test(n); } 文件。写('101:'+检查编号(101)+''); 文件。写('109:'+检查编号(109)+''); 文件。写入('0:'+检查编号(0

我希望正则表达式只允许除某些数字之外的数字

例:限制101-109。其他的都可以

尝试

任何其他值都应为true

regex.test(100001) // should give true
这不起作用

请尝试以下操作:

!/^0|10[1-9]$/.test(101)
功能检查编号(n){
返回!/^0 | 10[1-9]$/.test(n);
}
文件。写('101:'+检查编号(101)+'
'); 文件。写('109:'+检查编号(109)+'
'); 文件。写入('0:'+检查编号(0)+'
');
文件。写('100001:'+检查编号(100001)+'
在匹配所有数字时,可以使用基于负前瞻的正则表达式来禁止某些数字:

/^(?!(0|10[1-9])$)\d+$/


(?!(0 | 10[1-9])$
是否定的前瞻,不允许
0
,并且
101-109
中的所有数字示例:这将其限制为238-971
这只是表明这并不是很难的限制,
它生成一个数字范围正则表达式。
一个为你做这件事的好工具是

^(?!0*(?:23[8-9]| 2[4-9]\d |[3-8]\d{2}| 9[0-6]\d | 97[0-1])$)\d+$

扩大

 ^ 
 (?!
      0*
      (?:
           23 [8-9] 
        |  2 [4-9] \d 
        |  [3-8] \d{2} 
        |  9 [0-6] \d 
        |  97 [0-1] 
      )
      $ 
 )
 \d+ 
 $

0
false是什么?它不在
101-109之间。我还想要1、2、234、432等等。除101到109外,所有数字都应允许
 ^ 
 (?!
      0*
      (?:
           23 [8-9] 
        |  2 [4-9] \d 
        |  [3-8] \d{2} 
        |  9 [0-6] \d 
        |  97 [0-1] 
      )
      $ 
 )
 \d+ 
 $