Javascript 匹配无小数且大于10000的数字

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,}$ ^^^^^^^^^^ 请参阅和: 详细信息 ^-

我对正则表达式不是很熟悉,我正试图用JavaScript创建一个正则表达式代码来匹配一个字符串

  • 整数
  • 无小数/点
  • 并且应该大于10000
到目前为止,我有它喜欢的ff。我想我遗漏了一些东西,因为它仍然读取十进制数,并且==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,}
    -任意四位或四位以上数字
  • $
    -字符串结束

尽管JavaScript可能无法直接回答这个问题,但它已经可以解析数字了。为什么要费心重新实现这个呢?尤其是RegExp

为什么不仅仅是一根或整根绳子

如果您拥有的不是一个数字,它将失败/返回
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来度假