Asp.net 如何使用正则表达式验证小数点后两位的百分比?

Asp.net 如何使用正则表达式验证小数点后两位的百分比?,asp.net,regex,validation,Asp.net,Regex,Validation,是否有将百分比值验证为小数点后2位的正则表达式 我有一个小数点后两位的正则表达式,但不知道如何阻止值超过100。e、 g.100.01通过我的正则表达式进行验证。在Perl中: /(^100([.]0{1,2})?)$|(^\d{1,2}([.]\d{1,2})?)$/ 或者,如果正好比较100,您可以添加一个额外的:)试试这个: \d{1,2}\.\d{2} 这会给你一个一位数或两位数的数字,后跟两位小数。如果您也希望允许十分之一(ala 10.1),请尝试以下方法: \d{1,2}\.\

是否有将百分比值验证为小数点后2位的正则表达式

我有一个小数点后两位的正则表达式,但不知道如何阻止值超过100。e、 g.100.01通过我的正则表达式进行验证。

在Perl中:

/(^100([.]0{1,2})?)$|(^\d{1,2}([.]\d{1,2})?)$/
或者,如果正好比较100,您可以添加一个额外的:)

试试这个:

\d{1,2}\.\d{2}
这会给你一个一位数或两位数的数字,后跟两位小数。如果您也希望允许十分之一(ala 10.1),请尝试以下方法:

\d{1,2}\.\d{1,2}
与以下机构合作:

  • 一百
  • 100.0
  • 100.00
  • 99.99
  • 0.01
  • 五,
等等。

试试这个(接受0到100之间的任何内容,包括0.00和100.00:

^(100\.00|100\.0|100)|([0-9]{1,2}){0,1}(\.[0-9]{1,2}){0,1}$

这允许除零以外的所有百分比

^[1-9]{1}[0-9]?(?:\.\d{1,2})?$|^0\.\d{1,2}?$|100

使用此正则表达式验证angular项目或javascript项目中的百分比,该解决方案未命中值“100”或“100.00”。Durr,我一直在读OP不想要100.00。哦,好吧,也许另一次……FWIW-使用任何语言将图像解析为浮点/双精度,并在我说“image”时验证
0,我的意思是“百分比”。抱歉。我正在使用DataAnnotation正则表达式在mvc应用程序中应用验证。Littlechris,我不确定你是否注意到DVK答案下的新注释。但是如果你删除开头和结尾的斜杠,它应该对你有用。感谢Steve。非常感谢你的帮助!!做得很好。它与我的测试用例一起工作…看起来像是在提供的链接上运行,但可以使用数据批注使其在我的app.ASP.Net MVC虚拟化中运行:[正则表达式(@/(^100([.]0{1,2})$|(^\d{1,2}([.]\d{1,2})$/”)@littlechris-对不起,我对ASP不太熟悉。您最初的问题的标记不是特定于.net的。如上所述,这是Perl-我不确定到的可移植性。net@littlechris-尝试删除开头和结尾的正斜杠。它在.NET中应该可以正常工作(这就是Regex Hero使用的).Duh…斜杠是Perl正则表达式运算符。模式在斜杠内。很抱歉造成混淆。您应该在表达式末尾添加^100$,而不是100,否则任何包含100的内容都被视为有效,例如100s.23
^[1-9]{1}[0-9]?(?:\.\d{1,2})?$|^0\.\d{1,2}?$|100
^([0-9]{0,2})(.[0-9]{1,2}){0,1}$|^100$