webForumDet fria alternativet

reg expression

ASPur ASP

16 svar · 258 visningar · startad av NETwork

Medlem sedan juni 20011 732 inlägg
Frågan#1

Vet inte riktigt var denna post hör hemma men det kanske går bra här. :)

Jo, jag skulle behöva ett regularexpression-uttryck där man får skriva endast siffror (ja \d alltså) MEN det får inte vara noll! Om det finns någon som kan hjälpa mig med det så blir jag oerhört tacksam!

Medlem sedan feb. 200112 078 inlägg
#2
[^123456789]

Jag är ingen höjdare på RegExp, men jag tror det skall fungera så. Du får alltså träffar på allt utom 1-9.

Medlem sedan juni 20011 732 inlägg
#3

Nja, jag vill alltså godkänna alla siffervärden utom noll. Ej bokstäver, bara siffror! 1 till n alltså.

Medlem sedan feb. 200112 078 inlägg
#4

Jo, det fattade jag också men varför inte vända på det?

if myMatches.count > 0 then
   response.write "Du får inte har sådana tecken i strängen!"
else
   response.write "Strängen är korrekt!"
end if

:)

Medlem sedan juni 20011 732 inlägg
#5

Därför att jag använder asp.net och validerar detta på klienten med en validationcontrol som behöver ett regexp-uttryck... :)

Medlem sedan feb. 200112 078 inlägg
#6

Och eftersom du använder ASP.NET borde nog tråden ligga där, mm? :)

Medlem sedan juni 20011 732 inlägg
#7

Näh. Jag frågar inget ju inte något asp.net-secifikt utan bara efter ett regexp-uttryck som nog passar lika bra här som på .net ... och man måste ju besöka sina konkurenter ibland!

:)

Medlem sedan feb. 200112 078 inlägg
#8

Mjo, själva ämnet är ju visserligen specifikt för ASP.NET eftersom du kör en klientsidefunktion, vilket gjorde att min lösning inte fungerade. ;)

Strunt samma, vi löser det ändå. :) Kanske nån som är mer high på RegExp än jag?

Medlem sedan juni 20011 732 inlägg
#9

Du hade ju faktiskt en poäng där... :) Jaja...

Medlem sedan aug. 2002207 inlägg
#10

Om jag har fattat rätt, så borde detta fungera:

"(\d|[^0])\d"

Då kan första siffran inte vara 0. Iofs så kommer det inte att fungera om man skriver 00 (alltså flera nollor). Vet inte hur man skall åtgärda detta, men jag återkommer om jag kommer på något :)

Medlem sedan feb. 200112 078 inlägg
#11

Varför skulle den inte träffa två nollor?

Medlem sedan juni 20011 732 inlägg
#12

Hm, nix... då måste man skriva minst två siffror oavsett siffra... :)

Medlem sedan juni 20008 205 inlägg
#13

^[1-9][0-9]*$

[r/] Denniz variant skulle släppa genom lite för mycket. (\d|[^0]) släpper genom alla siffror, plus allt som inte är noll, vilket innebär att allt slinker genom. Sen måste det avslutas med en siffra, så exempelvis skulle q8 gå genom men inte 9 :)

Medlem sedan juni 20011 732 inlägg
#14

Fungerar perfekt! Tack! :)

Medlem sedan aug. 2002207 inlägg
#15

Hmm... Såg visst att min inte funkade vidare bra. Denna borde dock fungera:

([123456789])(\d*)

EDIT: Skulle kunna vara smart att uppdatera sidan innan man postar :)

Medlem sedan juni 20008 205 inlägg
#16

Fast du kan skippa paranteserna. De behövs inte där. :)

Medlem sedan aug. 2002207 inlägg
#17

spango skrev:

Fast du kan skippa paranteserna. De behövs inte där. :)

Iofs inte, men jag gillar paranteser :)
Jag tycker att det blir mycket enklare att se vad som hör till vad då.

128 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)