需要具有以下特性的正则表达式:
1.小数点(.)前最多8位
1.小数点后最多4位
1.小数点可选
最大有效小数位数为小数前8位和小数后4位,因此9999999.9999
我尝试过的正则表达式**^\d{0,8}[.]?\d{1,4}$**对于123456789及以上的值失败。这意味着如果小数点不可用,它将占用8位以上的数字。
测试地点:http://regexpal.com/
提前非常非常感谢!
需要具有以下特性的正则表达式:
1.小数点(.)前最多8位
1.小数点后最多4位
1.小数点可选
最大有效小数位数为小数前8位和小数后4位,因此9999999.9999
我尝试过的正则表达式**^\d{0,8}[.]?\d{1,4}$**对于123456789及以上的值失败。这意味着如果小数点不可用,它将占用8位以上的数字。
测试地点:http://regexpal.com/
提前非常非常感谢!
7条答案
按热度按时间q9rjltbz1#
您可以将整个小数设置为可选
xnifntxz2#
你可以试试这个:
或
如果你不想第一个数字是零。
如果需要,可以允许此操作:(.1234口径)
yr9zkbsy3#
以上任何一个都不适合我,只有这个适合我
cqoc49vn4#
这个正则表达式在大多数情况下都有效,即使是负价格,
使用以下产品进行测试,
如果价格为**$9.97、£9.97或€9.97**,则将验证9.97,并删除符号。
nqwrtyyt5#
1-($+.[1-9])
2-(\£+.[1-9])此表达式可用于完整的价格数字。
d8tt03nd6#
我用这个:
^=字符串的开头
[1-9]=至少字符串必须以1到9之间的一个数字开始
\d{0,7}=可选或最大7倍d(数字:介于0和9之间的数字)
()=创建类似子字符串的组
.=需要一个。
\d{1-4}=数字重复最多4次
**$**字符串结尾
jc3wubiy7#
对于价格验证,我们不允许输入带有前导重复零,如0012等。
我的解决方案检查任何情况下。它也允许最大2小数点后的点。