我有一个正则表达式,用于检查HTML输入的值,如果它符合正确的形式:
^(?=\(.*\)|[^()]*$)\(?\d{1,3}(,?\d{3})?(\.\d\d?)?\)?\€?$
现在我需要扩展正则表达式,以便它还检查金额是否大于0.40€。
允许的例子:
25€
25
25.00
25.00€
25,00
25,00€
0.99€
0.99
0,99
0,99€
不允许:
0.39
0.39€
0,39
0,39€
答案 0 :(得分:0)
对我而言,您发布的模式会导致错误的结果(see here),因为并非所有允许的输入都匹配。
假设你在这里使用JS,你可以使用另一个正则表达式,其中包括对> 0.4
的检查:
^(?:(?:[1-9][0-9]*(?:(?:.|,)\d{2})?)|(?:0(?:(?:.|,)(?:4[1-9]|[5-9]\d))))€?$
此排除0.40 ,因为我将您的bigger than 0.40€
解释为> 0.4
。
如果你的意思是>= 0.4
,你可以使用
^(?:(?:[1-9][0-9]*(?:(?:.|,)\d{2})?)|(?:0(?:(?:.|,)[4-9]\d)))€?$
答案 1 :(得分:0)