Regexp i NET

.NET

5 svar · 479 visningar · startad av invecklaren

Medlem sedan jan. 2008280 inlägg
Trådstart#1

Hej!

Jag behöver lite hjälp med ett reg exp som accepterar
a) tal
eller
b)tal med mellanslag i sig

Typ
1234
eller
1 234 000

Jag försökte med

\b\d+\b|\
Medlem sedan juni 20019 519 inlägg
#2

^[\d\s]+$

Medlem sedan jan. 2008280 inlägg
#3

voigtann1 skrev:

^[\d\s]+$

Tack men det fungerade inte :(

Jag hade värdet
1 234
och det accepterades inte

eller så gör jag fel:

<asp:RegularExpressionValidator runat="server" 
ID="regexpValidator" ControlToValidate="txtProfitValue" 
ValidationExpression="^[\d\s]+$" Text="fel" > 
                   </asp:RegularExpressionValidator>

Kanske skulle lagt detta i asp.net-forumet

Medlem sedan dec. 20025 483 inlägg
#4

Testa [\d\s]+

^ och $ är implicita.

Medlem sedan jan. 2008280 inlägg
#5

Peter S skrev:

Testa [\d\s]+

^ och $ är implicita.

Nej, det funkar tyvärr inte...

Medlem sedan dec. 20025 483 inlägg
#6

Det fungerar för mig. Enkelt exempel:

        <asp:TextBox ID="txt" runat="server"></asp:TextBox>
        <asp:RegularExpressionValidator ControlToValidate="txt"
            ErrorMessage="Fel" ID="validator" runat="server"
            ValidationExpression="[\d\s]+"
            EnableClientScript="false"
            Display="Static"></asp:RegularExpressionValidator>
        <asp:Button Text="Validera!" runat="server" ID="submitbutton" />

Felmeddelandet visas inte för ex. "1", "123", "1 234". Den tillåter även att ingenting skrivs in. För att lösa det problemet behöver du lägga till en RequiredFieldValidator också.

244 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
118 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)