webForumDet fria alternativet

Regexp i NET

.NETur .NET

5 svar · 465 visningar · startad av invecklaren

Medlem sedan jan. 2008280 inlägg
Frågan#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å.

130 ms totalt · 3 externa anrop · v20260731065814-full.8a4e7caf
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)