Javascript 匹配无小数且大于10000的数字
我对正则表达式不是很熟悉,我正试图用JavaScript创建一个正则表达式代码来匹配一个字符串Javascript 匹配无小数且大于10000的数字,javascript,regex,Javascript,Regex,我对正则表达式不是很熟悉,我正试图用JavaScript创建一个正则表达式代码来匹配一个字符串 整数 无小数/点 并且应该大于10000 到目前为止,我有它喜欢的ff。我想我遗漏了一些东西,因为它仍然读取十进制数,并且==10000。我该怎么做 [1-9](?!\)\d[0-9]{3,} 您可以使用 ^[1-9][0-9]{4,}$ 要排除10000添加(?!10000$)前瞻: ^(?!10000$)[1-9][0-9]{4,}$ ^^^^^^^^^^ 请参阅和: 详细信息 ^-
- 整数
- 无小数/点
- 并且应该大于10000
[1-9](?!\)\d[0-9]{3,}
您可以使用
^[1-9][0-9]{4,}$
要排除10000
添加(?!10000$)
前瞻:
^(?!10000$)[1-9][0-9]{4,}$
^^^^^^^^^^
请参阅和:
详细信息
-字符串的开头^
-如果整个字符串等于(?!10000$)
,则取消匹配的负前瞻(即,在字符串开始(10000
)之后,有^
,然后字符串结束位置紧随其后(10000
)$
-从[1-9]
到1
9
-任意四位或四位以上数字[0-9]{4,}
-字符串结束$
NaN
,您可以使用进行测试
如果它没有失败,您可以测试它以确保它是一个整数值:
const isIntegral = Math.trunc(theNumber) === theNumber;
而且还不到一万
const isLessThan10000 = theNumber < 10000;
const小于10000=编号<10000;
这个代码将比正则表达式更易于阅读和维护。如果它大于99999怎么办?@briosheje限制量词应该是
{4,}
,我修正了它仍然匹配10000,并且不检查点。为什么要使用rexep?这似乎是一个错误的选择。JS已经被舔过了。为什么不仅仅是一根或整根绳子?如果不符合要求,它将失败/返回NaN
。然后你可以测试它,确保它是一个小于10000的整数值。你不能使用正则表达式以外的任何东西吗?也许解析为int然后做一些检查?谢谢大家!与我合作的银行使用其内部cms制作的特定表格,严格使用正则表达式检查输入。这就是为什么我只能去regexI度假的原因我完全同意你的意见!这可能是更好的解决方案,而不是诉诸正则表达式。但正如我在op的第一条评论中所说的,我所合作的银行使用一种由其内部cms制作的特殊表格,严格使用正则表达式来检查输入。这就是为什么我只能用regex来度假