Javascript Regex限制某些数字,但允许所有其他数字
我希望正则表达式只允许除某些数字之外的数字 例:限制101-109。其他的都可以 尝试 任何其他值都应为trueJavascript 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
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+
$