gpt4 book ai didi

javascript - 具有最小值和千位分隔符的数字的正则表达式

转载 作者:行者123 更新时间:2023-11-28 08:12:07 24 4
gpt4 key购买 nike

我正在尝试编写一个正则表达式来验证一个数字,该数字要么只是 0,要么至少是 1000,并且还允许使用逗号作为千位分隔符。

我得到的最接近的是正确验证数字部分但不是千位分隔符。

^(([1-9]{1}[0-9]{3,})|0)$

测试用例:

允许:

0
1000
50000
1,000
50,000
99,992,001

不允许:

00
0001
999
1,1,00
1.000.000
anystring

最佳答案

首先:在使用正则表达式做这样的事情之前要仔细考虑!正则表达式可能(正确地)看起来是一个强大的工具,但使用它们你会牺牲一些强大的数字操作工具以及代码的清晰度/可维护性。

但是,如果您有理由想坚持使用正则表达式,我认为这个可以满足您的要求:

^(0|[1-9]\d{0,2}((\d{3})+|(,\d{3})+))$

它选择:

  • 要么是零;要么是或
  • 一个非零数字,然后是最多两个其他数字,后面是一次三个的批量数字,要么全部用逗号分隔,要么没有。

您可以在这里看到它的工作情况:http://regex101.com/r/nG7rL5

关于javascript - 具有最小值和千位分隔符的数字的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24062900/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com