2016-04-21 2 views
0

Я работаю над простой формой приложения, для которой требуется простой RegularExpressionValidator для C# double.Asp.net RegularExpressionValidator C# double с запятой и точкой

<asp:RegularExpressionValidator ID="RegularExpressionValidator" 
           runat="server" 
           ErrorMessage="Only numbers" 
           ControlToValidate="textbox" 
           ValidationExpression="[0-9]*\.?[0-9]*" 
           CssClass="redtext" 
           ValidationGroup="save"/> 

Мне нужна проверка, чтобы разрешать номера, а также «,» и «.».

Я пробовал несколько различных выражений проверки, но никто не разрешает указанные символы.

Примеры текста, которые должны быть разрешены:

1 
50000000 
0,5 
0,05 
0.05 
1.3232 
9.9999 
0.09 

Любые другие символы не должны быть разрешены

ответ

1

Вы можете попробовать это:

^\d+[\.\,]\d+$ 

или

^(?=.*\d)\d*[\.\,]\d*$ 

EDIT:

Вы можете попробовать это регулярное выражение:

^(\d*\.?\d+|\d*(,\d*)*(\,\d+)?)$ 
+0

У вас есть хороший источник, где можно узнать больше о том, как строить выражение? Было бы greak, чтобы понять это лучше. Я смотрю некоторые на https://msdn.microsoft.com/en-us/library/ff650303.aspx –

+1

@GeorgeNorberg: - Вы можете следить за этим: http://www.regular-expressions.info/tutorial.html –

+0

Два предложенных вами выражения не помогли мне. Есть ли какое-то другое регулярное выражение, которое может работать –

0

Try ниже один

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