【发布时间】:2023-03-21 19:19:01
【问题描述】:
我需要帮助创建一个范围为 4,000-1,000,000 的正则表达式,其中逗号和美元符号对用户是可选的。
我正在尝试使用带有正则表达式或自定义验证器的 asp.net 对部门预算的验证进行注释,该验证器允许可选的美元符号和逗号,范围从 $5000.00 到 $1,000,000
^\$?([5-9][0-9]{3,5}|1000000)$
不幸的是,这没有用,这是我想出的,任何帮助将不胜感激!
【问题讨论】:
-
通常“可选”会转化为
1,?000,?000之类的东西。 -
@tadman 是的,我知道,而且我必须这样做 \,?但问题是弄清楚如何做完整的正则表达式。我不精通,只做过几次。
-
,不是特殊字符,因此不需要反斜杠。你为什么使用正则表达式来匹配这个?您是否需要将逗号放在正确的位置,还是1,000,00仍然有效? -
@tadman 有人要求,是的,因为它是钱。所以它需要是 5,000 - 1,000,000 美元,货币符号和逗号是可选的。但是没有 1,000,00 是不正确的。 10,000 是它的格式。与货币通常如何将 , 用于现金一样。这取决于逗号所在的 0 的数量。
-
“通常”是一个非常主观的东西,因为世界上每个国家都有自己的古怪标准。在某些地方,“3,99 美元”并不是不可能的。你能给出几个好的输入和应该拒绝的坏输入的例子吗?从您的简短描述中不清楚这必须有多强大。