Permalänk
Medlem

ASP och Regular Expressions

Hej, jag har lite problem med att få RegExp att fungera som det ska. Det jag vill göra är en uppdateringsfunktion till kundvagnen en webbshop, där kunden kan välja hur många av en vara han eller hon vill ha.

Så här har jag försökt lösa detta:

'Det är dags att uppdatera kundvagnen. if Request.QueryString("action") = "update" then 'Kontrollera så att antalet verkligen är ett heltal för att undvika databasknas. Set objRE = New RegExp objRE.Pattern = "^[0-9]+$" If objRE.Test(Request.Form("antal")) = 1 then antal = CInt(Validate(Request.Form("antal"))) 'Om det nya antalet är 0, radera varan ur kundkorgen. if antal = 0 then objConn.Execute("DELETE FROM Ordrar WHERE order_id = "&Request.Form("varor")) 'I annat fall, uppdatera kundkorgen med det nya antalet. else objConn.Execute("UPDATE Orders SET order_antal = "&antal&" WHERE order_id = "&Request.Form("varor")) end if end if 'Ladda om huvudframen. %><script>parent.mainframe1.location.reload();</script><% 'Slut på uppdatering. end if

Problemet är att vad jag än gör, så händer inget. Den verkar se allt som felaktigt, oavsett om jag ger den heltal, text eller vad jag gör. Riktigt förvirrande, jag är inte hel hemma med RegExp heller.
Lösning?

EDIT: Validate() är en funktion som jag gjort själv för att validera input från användaren, den ser ut så här:

function Validate(strang) Validate = Trim(Replace(Replace(Replace(Replace(Server.HtmlEncode(strang), "'", "'"),"/","/"),"\","]"),chr(34),""")) end function

Visa signatur

Laptop: Zepto 6214W, Core Duo @ 2.0 GHz, 2048 MB RAM, 100 GB 7200 rpm
Server: Asus A7N8X Deluxe 2.0, Athlon XP 2500+ Barton, 2*Corsair 1024 MB, 200 GB Seagate, 3*320 GB WD3200 varav 2*RAID Edition

Permalänk
Medlem

Lite overkill att köra ett regexp när du istället skulle kunna använda isNumeric() som är avsett för sånna kontroller.

Visa signatur
Permalänk
Medlem
Citat:

Ursprungligen inskrivet av xtermin8
Lite overkill att köra ett regexp när du istället skulle kunna använda isNumeric() som är avsett för sånna kontroller.

Aj, hur kan jag ha glömt bort den funktionen? Tackar.

Visa signatur

Laptop: Zepto 6214W, Core Duo @ 2.0 GHz, 2048 MB RAM, 100 GB 7200 rpm
Server: Asus A7N8X Deluxe 2.0, Athlon XP 2500+ Barton, 2*Corsair 1024 MB, 200 GB Seagate, 3*320 GB WD3200 varav 2*RAID Edition