2014-03-07 45 views
0

我想在数据注释中验证double正则表达式。双正则表达式

我需要验证,因为它遵循一个正则表达式:

通行证:

  • 1,00
  • 0,01
  • 0,00
  • 123544,23
  • 266,00

总是2位小数。

失败:

  • ,22
  • 0,
  • ,00
  • 1,0
  • 1,2

到目前为止,我已经得到了 ^\d+,\d{2}$

但是当数字结尾为零时失败。例如,23,00当它通过时失败。

注意:由于我的文化,我使用逗号作为分隔符。

编辑:我正在使用全球化的jQuery验证。在视图中我有这个脚本。

$(document).ready(function() { 
    Globalize.culture('es-AR'); 

    $.validator.methods.number = function (value, element) { 
     return this.optional(element) || !isNaN(Globalize.parseFloat(value)); 
    } 

    $.validator.methods.range = function (value, element, param) { 
     return this.optional(element) || (Globalize.parseFloat(value) >= param[0] && Globalize.parseFloat(value) <= param[1]); 
    } 

}); 
+2

你有什么应该工作的罚款。你使用什么语言/工具? – arshajii

+0

我正在使用c#。 .NET Framework 4.0 – Rodrigo

回答

0

也许这应该工作,如你所愿:

^\d+[,](\d{2})(?<=\d+)$ 
+0

它和以前一样。不接受23,00:/ – Rodrigo

+0

我用这个表达式再次尝试了它,它也适用于数字23,00。 '“23,00”.match(new RegExp(/^\ d + [,](\ d {2})(?!= \ d +)$ /)) - > [“23,00”,“00”] - 匹配,确定| “1,00”.match(new RegExp(/^\ d + [,](\ d {2})(?!= \ d +)$ /)) - > [“1,00”,“00”] - 匹配,确定| “123544,23”.match(new RegExp(/^\ d + [,](\ d {2})(?!= \ d +)$ /)) - > [“123544,23”,“23”] - 匹配,确定|新的RegExp(/^\ d + [,](\ d {2})(?!= \ d +)$ /)) - > null - no match,ok | “,00”.match (新的RegExp(/^\ d + [,](\ d {2})(?!= \ d +)$ /)) - > null - no match,ok' – huembert

+0

您使用哪种语言试图吗? – Rodrigo