2014-03-07 48 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