需要具有以下特征的正则表达式:
- 小数点 (.) 点前最多 8 位
- 小数点后最多4位
- 小数点是可选的
最大有效小数为小数点前 8 位和小数点后 4 位 所以 99999999.9999
我尝试过的正则 rexpression ^\d{0,8}[.]?\d{1,4}$失败了 123456789 并且不止于此。表示如果小数点不可用,它会占用 8 位以上的数字。
在这里测试:http ://regexpal.com/
非常感谢提前!
需要具有以下特征的正则表达式:
最大有效小数为小数点前 8 位和小数点后 4 位 所以 99999999.9999
我尝试过的正则 rexpression ^\d{0,8}[.]?\d{1,4}$失败了 123456789 并且不止于此。表示如果小数点不可用,它会占用 8 位以上的数字。
在这里测试:http ://regexpal.com/
非常感谢提前!
^\d{0,8}(\.\d{1,4})?$
您可以将整个小数设为可选
你可以试试这个:
^\d{1,8}(?:\.\d{1,4})?$
或者
^[1-9]\d{0,7}(?:\.\d{1,4})?$
如果您不想将零作为第一个数字。
如果您愿意,可以允许这样做:(.1234)
^[1-9]\d{0,7}(?:\.\d{1,4})?|\.\d{1,4}$
以上任何一项都不适合我。只有这对我有用
^([0-9]{0,2}((.)[0-9]{0,2}))$
1- (\$+. [1-9])
2- (\£+. [1-9])
您可以将此表达式用于完整的价格数字。
我正在使用这个:
^[1-9]\d{0,7}(\.\d{1-4})$
^ = 字符串的开头
[1-9] = 至少字符串必须以 1 到 9 之间的 1 个数字开头
\d{0,7} = 可选或最多 7 次 d(数字:0 到 9 之间的数字)
() = 创建一个像子串一样的组
. = 需要一个。
\d{1-4} = 数字重复最多 4 次
$字符串结尾
这个正则表达式适用于大多数情况,即使是负价格,
(\-?\d+\.?\d{0,2})
通过以下测试,
9
9.97
37.97
132.97
-125.55
12.2
1000.00
10000.00
100000.00
1000000.00
401395011
如果价格为9.97 美元、9.97 英镑或 9.97 欧元,则将验证9.97移除该符号。