webForumDet fria alternativet

reg expression

16 svar · 258 visningar · startad av NETwork

NETworkMedlem sedan juni 20011 679 inlägg
#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!

OveRRidEMedlem sedan feb. 20018 509 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.

NETworkMedlem sedan juni 20011 679 inlägg
#3

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

OveRRidEMedlem sedan feb. 20018 509 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

:)

NETworkMedlem sedan juni 20011 679 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... :)

OveRRidEMedlem sedan feb. 20018 509 inlägg
#6

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

NETworkMedlem sedan juni 20011 679 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!

:)

OveRRidEMedlem sedan feb. 20018 509 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?

NETworkMedlem sedan juni 20011 679 inlägg
#9

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

Denniz PoPMedlem sedan aug. 2002206 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 :)

OveRRidEMedlem sedan feb. 20018 509 inlägg
#11

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

NETworkMedlem sedan juni 20011 679 inlägg
#12

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

spangoMedlem sedan juni 20006 147 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 :)

NETworkMedlem sedan juni 20011 679 inlägg
#14

Fungerar perfekt! Tack! :)

Denniz PoPMedlem sedan aug. 2002206 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 :)

spangoMedlem sedan juni 20006 147 inlägg
#16

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

Denniz PoPMedlem sedan aug. 2002206 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å.

Genererad på 482 ms · cache AV · v20260730165559-full.f96bc7eb