我很想找到美元的正则表达式。我的输入和规则是只能有数字0到9和一个可选的deciaml点。如果小数存在,则必须有两个0 t 9位数。
所以除了: 1000 1000.99
但不是: 10001.1 1000。 1000 $ 100.9
答案 0 :(得分:6)
你对正则表达式有什么了解吗? 让我解释一下解决方案:
1)你想要数字,那些是[0-9]
2)你想要至少其中一个,+
3)然后可能会有某些内容,让我们把它放在括号中,0或1次意味着?
所以你现在有[0-9]+(something)?
4)现在你想要的东西是小数点,dot是正则表达式中的特殊字符,所以你必须将其转义\.
5)然后你再次想要数字,其中两个是{2}
在这里,完整的表达:
$expression="/[0-9]+(\.[0-9]{2})?/";
答案 1 :(得分:3)
你走了:
/^[0-9]+(?:\.[0-9]{2}){0,1}$/
答案 2 :(得分:0)
这将检查任意数量:
/^(?:[0-9]{1,3})(?:,[0-9]{3})*(?:|\.[0-9]+)$/
E.g。它将验证:
1,432.33
342
1.2
0.343