webForumDet fria alternativet

Kolla pris med regular expression

2 svar · 243 visningar · startad av benja77

benja77Medlem sedan sep. 200414 inlägg
#1

Jag har ett litet problem. Behöver kolla ett textfält så att det är korrekt formaterat som ett pris. Detta innebär alltså att fältet kan vara tomt eller innehålla t.ex. 123 eller 123,50. Har genom lite sökande och modifierande fått fram följande:

/^((\d+)|(\d{1,3}(\,\d{2})+))(\,\d{2})?\s*$/

Men eftersom jag suger på reg exp så begriper jag för lite för att förstå varför den nu kräver att fältet är ifyllt. Annars verkar det göra det jag vill. Nån som vet vad det är för fel eller har nåt bra tips på hur man lär sig regular expressions lite smidigt. Tack på förhand.

//Benjamin

dectgapMedlem sedan sep. 20021 655 inlägg
#2

Det är inte alltid så lätt att läsa reguljära uttryck, och ditt blir jag en aning förvirrad av.

Men om jag går efter vad du har skrivit i klartext borde följande fungera:

/^(\d+(\,\d{2})?)?$/

En eller flera siffror, eventuellt följt av ett komma-tecken och två siffror. Eller en tom sträng.

benja77Medlem sedan sep. 200414 inlägg
#3

perfekt

Det verkar funka som det ska. Tackar så mycket för hjälpen! Bussigt bussigt..

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